// debug:
// System.out.println("- TypeCodes.getTypeCode for class : " + c.getName() );
if( c.isPrimitive() )
{
if( typeName.equals("void"))
return new TypeCode( TCKind._tk_void );
if( typeName.equals("int"))
return new TypeCode( TCKind._tk_long );
if( typeName.equals("long"))
return new TypeCode( TCKind._tk_longlong );
if( typeName.equals("short"))
return new TypeCode( TCKind._tk_short );
if( typeName.equals("float"))
return new TypeCode( TCKind._tk_float );
if( typeName.equals("double"))
return new TypeCode( TCKind._tk_double );
if( typeName.equals("boolean"))
return new TypeCode( TCKind._tk_boolean );
if( typeName.equals("byte") )
return new TypeCode( TCKind._tk_octet );
if( typeName.equals("char") )
return new TypeCode( TCKind._tk_char );
if( typeName.equals("wchar") )
return new TypeCode( TCKind._tk_wchar );
else
{
System.err.println("- TypeCode.getTypeCode, primitive class not found " +
typeName );
return null;
}
}
/* else */
Class tcClass = null;
Class idlEntity = null;
try
{
//#ifjdk 1.2
tcClass = Class.forName("org.omg.CORBA.TypeCode", true, loader );
idlEntity = Class.forName("org.omg.CORBA.portable.IDLEntity", true, loader);
//#else
//# tcClass = Class.forName ("org.omg.CORBA.TypeCode");
//# idlEntity = Class.forName ("org.omg.CORBA.portable.IDLEntity");
//#endif
//tcClass = loader.loadClass( "org.omg.CORBA.TypeCode" );
// idlEntity = loader.loadClass( "org.omg.CORBA.portable.IDLEntity" );
}
catch ( ClassNotFoundException ce )
{
logger.fatalError("Can't load org.jacorb base classes!", ce);
throw ce;
//System.exit(1);
}
int field_size = 0;
if ( tcClass.isAssignableFrom(c))
{
/*
try
{
*/
return new TypeCode( TCKind._tk_TypeCode );
/*
}
catch ( Exception e )
{
e.printStackTrace();
return null;
}
*/
}
else
{
if( idlName != null && idlName.length() > 0 )
{
try
{
if( idlName.equals( "java.lang.String"))
return new TypeCode( TCKind._tk_string);
else if( idlName.equals( "org.omg.CORBA.Boolean"))
return new TypeCode(TCKind._tk_boolean);
else if( idlName.equals( "org.omg.CORBA.Byte"))
return new TypeCode(TCKind._tk_octet);
else if( idlName.equals( "org.omg.CORBA.Short"))
return new TypeCode(TCKind._tk_short);
else if( idlName.equals( "org.omg.CORBA.Long"))
return new TypeCode(TCKind._tk_longlong);
else if( idlName.equals( "org.omg.CORBA.Int"))
return new TypeCode(TCKind._tk_long);
else if( idlName.equals( "org.omg.CORBA.String"))
return new TypeCode(TCKind._tk_string);
else if( idlName.equals( "org.omg.CORBA.Char"))
return new TypeCode(TCKind._tk_char);
else if( idlName.equals( "org.omg.CORBA.Float"))
return new TypeCode(TCKind._tk_float);
else if( idlName.equals( "org.omg.CORBA.Double"))
return new TypeCode(TCKind._tk_double);
else if( idlName.equals( "org.omg.CORBA.Any"))
return new TypeCode(TCKind._tk_any);
else if( idlName.equals( "org.omg.CORBA.Object"))
return new TypeCode(TCKind._tk_objref);
else if( idlName.equals( "org.omg.CORBA.TypeCode"))
return new TypeCode(TCKind._tk_TypeCode);
//#ifjdk 1.2
Class type = Class.forName( idlName + "Helper", true, loader);
//#else
//# Class type = Class.forName( idlName + "Helper" );