package test.interop.bidir;


/**
 * Generated from IDL interface "CallbackServer".
 *
 * @author JacORB IDL compiler V @project.version@
 * @version generated at 25-Feb-2014 13:44:20
 */

public abstract class CallbackServerHelper
{
	private volatile static org.omg.CORBA.TypeCode _type;
	public static org.omg.CORBA.TypeCode type ()
	{
		if (_type == null)
		{
			synchronized(CallbackServerHelper.class)
			{
				if (_type == null)
				{
					_type = org.omg.CORBA.ORB.init().create_interface_tc("IDL:test/interop/bidir/CallbackServer:1.0", "CallbackServer");
				}
			}
		}
		return _type;
	}

	public static void insert (final org.omg.CORBA.Any any, final test.interop.bidir.CallbackServer s)
	{
			any.insert_Object(s);
	}
	public static test.interop.bidir.CallbackServer extract(final org.omg.CORBA.Any any)
	{
		return narrow(any.extract_Object()) ;
	}
	public static String id()
	{
		return "IDL:test/interop/bidir/CallbackServer:1.0";
	}
	public static CallbackServer read(final org.omg.CORBA.portable.InputStream in)
	{
		return narrow(in.read_Object(test.interop.bidir._CallbackServerStub.class));
	}
	public static void write(final org.omg.CORBA.portable.OutputStream _out, final test.interop.bidir.CallbackServer s)
	{
		_out.write_Object(s);
	}
	public static test.interop.bidir.CallbackServer narrow(final org.omg.CORBA.Object obj)
	{
		if (obj == null)
		{
			return null;
		}
		else if (obj instanceof test.interop.bidir.CallbackServer)
		{
			return (test.interop.bidir.CallbackServer)obj;
		}
		else if (obj._is_a("IDL:test/interop/bidir/CallbackServer:1.0"))
		{
			test.interop.bidir._CallbackServerStub stub;
			stub = new test.interop.bidir._CallbackServerStub();
			stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate());
			return stub;
		}
		else
		{
			throw new org.omg.CORBA.BAD_PARAM("Narrow failed");
		}
	}
	public static test.interop.bidir.CallbackServer unchecked_narrow(final org.omg.CORBA.Object obj)
	{
		if (obj == null)
		{
			return null;
		}
		else if (obj instanceof test.interop.bidir.CallbackServer)
		{
			return (test.interop.bidir.CallbackServer)obj;
		}
		else
		{
			test.interop.bidir._CallbackServerStub stub;
			stub = new test.interop.bidir._CallbackServerStub();
			stub._set_delegate(((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate());
			return stub;
		}
	}
}
