/// <summary> /// Constructs a giop message handler, which uses the given /// ArgumentsSerializerFactory for serializing/deserializing /// requests/replys. The headerFlags parameter defines the /// used header flags for messages initiated by this handler. /// The interceptionOptions[] provides the information on /// channel level interceptors. /// </summary> internal GiopMessageHandler(ArgumentsSerializerFactory argSerFactory, byte headerFlags, IInterceptionOption[] interceptionOptions) { m_ser = new GiopMessageBodySerialiser(argSerFactory); m_headerFlags = headerFlags; m_interceptionOptions = interceptionOptions; }
public void SetUp() { SerializerFactory serFactory = new SerializerFactory(); omg.org.IOP.CodecFactory codecFactory = new Ch.Elca.Iiop.Interception.CodecFactoryImpl(serFactory); omg.org.IOP.Codec codec = codecFactory.create_codec( new omg.org.IOP.Encoding(omg.org.IOP.ENCODING_CDR_ENCAPS.ConstVal, 1, 2)); serFactory.Initalize(new SerializerFactoryConfig(), IiopUrlUtil.Create(codec)); m_argSerFactory = new ArgumentsSerializerFactory(serFactory); }
private object[] MarshalAndUnmarshalRequestArgsOnce(MethodInfo testMethod, object[] actual) { ArgumentsSerializerFactory serFactory = m_argSerFactory; ArgumentsSerializer ser = serFactory.Create(testMethod.DeclaringType); MemoryStream data = new MemoryStream(); GiopVersion version = new GiopVersion(1, 2); byte endian = 0; CdrOutputStream targetStream = new CdrOutputStreamImpl(data, endian, version); ser.SerializeRequestArgs(testMethod.Name, actual, targetStream, null); data.Seek(0, SeekOrigin.Begin); CdrInputStreamImpl sourceStream = new CdrInputStreamImpl(data); sourceStream.ConfigStream(endian, version); IDictionary contextElements; object[] deser = ser.DeserializeRequestArgs(testMethod.Name, sourceStream, out contextElements); return(deser); }
private object MarshalAndUnmarshalResponeArgsOnce(MethodInfo testMethod, object returnValue, object[] outArgs, out object[] deserOutArgs) { ArgumentsSerializerFactory serFactory = m_argSerFactory; ArgumentsSerializer ser = serFactory.Create(testMethod.DeclaringType); MemoryStream data = new MemoryStream(); GiopVersion version = new GiopVersion(1, 2); byte endian = 0; CdrOutputStream targetStream = new CdrOutputStreamImpl(data, endian, version); ser.SerializeResponseArgs(testMethod.Name, returnValue, outArgs, targetStream); data.Seek(0, SeekOrigin.Begin); CdrInputStreamImpl sourceStream = new CdrInputStreamImpl(data); sourceStream.ConfigStream(endian, version); object returnValueDeser = ser.DeserializeResponseArgs(testMethod.Name, out deserOutArgs, sourceStream); return(returnValueDeser); }
/// <summary> /// Constructs a giop message handler, which uses the given /// ArgumentsSerializerFactory for serializing/deserializing /// requests/replys. The headerFlags parameter defines the /// used header flags for messages initiated by this handler. /// </summary> internal GiopMessageHandler(ArgumentsSerializerFactory argSerFactory, byte headerFlags) : this (argSerFactory, headerFlags, InterceptorManager.EmptyInterceptorOptions) { }