// ********************************************************************** // // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** using System; using System.Collections.Generic; public sealed class MyDerivedClassI : Test.MyDerivedClassTie_ { public MyDerivedClassI() : base(new MyDerivedClassTieI()) { } } public sealed class MyDerivedClassTieI : Test.MyDerivedClassOperations_ { private static void test(bool b) { if (!b) { throw new Exception(); } } public void shutdown(Ice.Current current) { current.adapter.getCommunicator().shutdown(); } public bool supportsCompress(Ice.Current current) { return IceInternal.BZip2.supported(); } public void opVoid(Ice.Current current) { test(current.mode == Ice.OperationMode.Normal); } public bool opBool(bool p1, bool p2, out bool p3, Ice.Current current) { p3 = p1; return p2; } public bool[] opBoolS(bool[] p1, bool[] p2, out bool[] p3, Ice.Current current) { p3 = new bool[p1.Length + p2.Length]; Array.Copy(p1, p3, p1.Length); Array.Copy(p2, 0, p3, p1.Length, p2.Length); bool[] r = new bool[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public bool[][] opBoolSS(bool[][] p1, bool[][] p2, out bool[][] p3, Ice.Current current) { p3 = new bool[p1.Length + p2.Length][]; Array.Copy(p1, p3, p1.Length); Array.Copy(p2, 0, p3, p1.Length, p2.Length); bool[][] r = new bool[p1.Length][]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public byte opByte(byte p1, byte p2, out byte p3, Ice.Current current) { p3 = (byte)(p1 ^ p2); return p1; } public Dictionary opByteBoolD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public byte[] opByteS(byte[] p1, byte[] p2, out byte[] p3, Ice.Current current) { p3 = new byte[p1.Length]; for(int i = 0; i < p1.Length; i++) { p3[i] = p1[p1.Length - (i + 1)]; } byte[] r = new byte[p1.Length + p2.Length]; Array.Copy(p1, r, p1.Length); Array.Copy(p2, 0, r, p1.Length, p2.Length); return r; } public byte[][] opByteSS(byte[][] p1, byte[][] p2, out byte[][] p3, Ice.Current current) { p3 = new byte[p1.Length][]; for(int i = 0; i < p1.Length; i++) { p3[i] = p1[p1.Length - (i + 1)]; } byte[][] r = new byte[p1.Length + p2.Length][]; Array.Copy(p1, r, p1.Length); Array.Copy(p2, 0, r, p1.Length, p2.Length); return r; } public double opFloatDouble(float p1, double p2, out float p3, out double p4, Ice.Current current) { p3 = p1; p4 = p2; return p2; } public double[] opFloatDoubleS(float[] p1, double[] p2, out float[] p3, out double[] p4, Ice.Current current) { p3 = p1; p4 = new double[p2.Length]; for(int i = 0; i < p2.Length; i++) { p4[i] = p2[p2.Length - (i + 1)]; } double[] r = new double[p2.Length + p1.Length]; Array.Copy(p2, r, p2.Length); for(int i = 0; i < p1.Length; i++) { r[p2.Length + i] = (double)p1[i]; } return r; } public double[][] opFloatDoubleSS(float[][] p1, double[][] p2, out float[][] p3, out double[][] p4, Ice.Current current) { p3 = p1; p4 = new double[p2.Length][]; for(int i = 0; i < p2.Length; i++) { p4[i] = p2[p2.Length - (i + 1)]; } double[][] r = new double[p2.Length + p2.Length][]; Array.Copy(p2, r, p2.Length); for(int i = 0; i < p2.Length; i++) { r[p2.Length + i] = new double[p2[i].Length]; for(int j = 0; j < p2[i].Length; j++) { r[p2.Length + i][j] = (double)p2[i][j]; } } return r; } public Dictionary opLongFloatD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Test.MyClassPrx opMyClass(Test.MyClassPrx p1, out Test.MyClassPrx p2, out Test.MyClassPrx p3, Ice.Current current) { p2 = p1; p3 = Test.MyClassPrxHelper.uncheckedCast(current.adapter.createProxy( Ice.Util.stringToIdentity("noSuchIdentity"))); return Test.MyClassPrxHelper.uncheckedCast(current.adapter.createProxy(current.id)); } public Test.MyEnum opMyEnum(Test.MyEnum p1, out Test.MyEnum p2, Ice.Current current) { p2 = p1; return Test.MyEnum.enum3; } public Dictionary opShortIntD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public long opShortIntLong(short p1, int p2, long p3, out short p4, out int p5, out long p6, Ice.Current current) { p4 = p1; p5 = p2; p6 = p3; return p3; } public long[] opShortIntLongS(short[] p1, int[] p2, long[] p3, out short[] p4, out int[] p5, out long[] p6, Ice.Current current) { p4 = p1; p5 = new int[p2.Length]; for(int i = 0; i < p2.Length; i++) { p5[i] = p2[p2.Length - (i + 1)]; } p6 = new long[p3.Length + p3.Length]; Array.Copy(p3, p6, p3.Length); Array.Copy(p3, 0, p6, p3.Length, p3.Length); return p3; } public long[][] opShortIntLongSS(short[][] p1, int[][] p2, long[][] p3, out short[][] p4, out int[][] p5, out long[][] p6, Ice.Current current) { p4 = p1; p5 = new int[p2.Length][]; for(int i = 0; i < p2.Length; i++) { p5[i] = p2[p2.Length - (i + 1)]; } p6 = new long[p3.Length + p3.Length][]; Array.Copy(p3, p6, p3.Length); Array.Copy(p3, 0, p6, p3.Length, p3.Length); return p3; } public string opString(string p1, string p2, out string p3, Ice.Current current) { p3 = p2 + " " + p1; return p1 + " " + p2; } public Dictionary opStringMyEnumD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opMyEnumStringD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opMyStructMyEnumD( Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary[] opByteBoolDS(Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary[] opShortIntDS(Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary[] opLongFloatDS(Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary[] opStringStringDS(Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary[] opStringMyEnumDS(Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary[] opMyEnumStringDS(Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary[] opMyStructMyEnumDS( Dictionary[] p1, Dictionary[] p2, out Dictionary[] p3, Ice.Current current) { p3 = new Dictionary[p1.Length + p2.Length]; Array.Copy(p2, p3, p2.Length); Array.Copy(p1, 0, p3, p2.Length, p1.Length); Dictionary[] r = new Dictionary[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public Dictionary opByteByteSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opBoolBoolSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opShortShortSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opIntIntSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opLongLongSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opStringFloatSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opStringDoubleSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opStringStringSD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Dictionary opMyEnumMyEnumSD( Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current ice) { p3 = p2; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public int[] opIntS(int[] s, Ice.Current current) { int[] r = new int[s.Length]; for(int i = 0; i < s.Length; ++i) { r[i] = -s[i]; } return r; } public void opByteSOneway(byte[] s, Ice.Current current) { lock(this) { ++_opByteSOnewayCallCount; } } public int opByteSOnewayCallCount(Ice.Current current) { lock(this) { int count = _opByteSOnewayCallCount; _opByteSOnewayCallCount = 0; return count; } } public Dictionary opContext(Ice.Current current) { return current.ctx == null ? new Dictionary() : new Dictionary(current.ctx); } public void opDoubleMarshaling(double p1, double[] p2, Ice.Current current) { double d = 1278312346.0 / 13.0; test(p1 == d); for(int i = 0; i < p2.Length; ++i) { test(p2[i] == d); } } public string[] opStringS(string[] p1, string[] p2, out string[] p3, Ice.Current current) { p3 = new string[p1.Length + p2.Length]; Array.Copy(p1, p3, p1.Length); Array.Copy(p2, 0, p3, p1.Length, p2.Length); string[] r = new string[p1.Length]; for(int i = 0; i < p1.Length; i++) { r[i] = p1[p1.Length - (i + 1)]; } return r; } public string[][] opStringSS(string[][] p1, string[][] p2, out string[][] p3, Ice.Current current) { p3 = new string[p1.Length + p2.Length][]; Array.Copy(p1, p3, p1.Length); Array.Copy(p2, 0, p3, p1.Length, p2.Length); string[][] r = new string[p2.Length][]; for(int i = 0; i < p2.Length; i++) { r[i] = p2[p2.Length - (i + 1)]; } return r; } public string[][][] opStringSSS(string[][][] p1, string[][][] p2, out string[][][] p3, Ice.Current current) { p3 = new string[p1.Length + p2.Length][][]; Array.Copy(p1, p3, p1.Length); Array.Copy(p2, 0, p3, p1.Length, p2.Length); string[][][] r = new string[p2.Length][][]; for(int i = 0; i < p2.Length; i++) { r[i] = p2[p2.Length - (i + 1)]; } return r; } public Dictionary opStringStringD(Dictionary p1, Dictionary p2, out Dictionary p3, Ice.Current current) { p3 = p1; Dictionary r = new Dictionary(); foreach(KeyValuePair e in p1) { r[e.Key] = e.Value; } foreach(KeyValuePair e in p2) { r[e.Key] = e.Value; } return r; } public Test.Structure opStruct(Test.Structure p1, Test.Structure p2, out Test.Structure p3, Ice.Current current) { p3 = p1; p3.s.s = "a new string"; return p2; } public void opIdempotent(Ice.Current current) { test(current.mode == Ice.OperationMode.Idempotent); } public void opNonmutating(Ice.Current current) { test(current.mode == Ice.OperationMode.Nonmutating); } public void opDerived(Ice.Current current) { } public byte opByte1(byte opByte1, Ice.Current current) { return opByte1; } public short opShort1(short opShort1, Ice.Current current) { return opShort1; } public int opInt1(int opInt1, Ice.Current current) { return opInt1; } public long opLong1(long opLong1, Ice.Current current) { return opLong1; } public float opFloat1(float opFloat1, Ice.Current current) { return opFloat1; } public double opDouble1(double opDouble1, Ice.Current current) { return opDouble1; } public string opString1(string opString1, Ice.Current current) { return opString1; } public string[] opStringS1(string[] opStringS1, Ice.Current current) { return opStringS1; } public Dictionary opByteBoolD1(Dictionary opByteBoolD1, Ice.Current current) { return opByteBoolD1; } public string[] opStringS2(string[] opStringS2, Ice.Current current) { return opStringS2; } public Dictionary opByteBoolD2(Dictionary opByteBoolD2, Ice.Current current) { return opByteBoolD2; } public Test.MyClass1 opMyClass1(Test.MyClass1 c, Ice.Current current) { return c; } public Test.MyStruct1 opMyStruct1(Test.MyStruct1 s, Ice.Current current) { return s; } public string[] opStringLiterals(Ice.Current current) { return new string[] { Test.s0.value, Test.s1.value, Test.s2.value, Test.s3.value, Test.s4.value, Test.s5.value, Test.s6.value, Test.s7.value, Test.s8.value, Test.s9.value, Test.s10.value, Test.sw0.value, Test.sw1.value, Test.sw2.value, Test.sw3.value, Test.sw4.value, Test.sw5.value, Test.sw6.value, Test.sw7.value, Test.sw8.value, Test.sw9.value, Test.sw10.value, Test.ss0.value, Test.ss1.value, Test.ss2.value, Test.ss3.value, Test.ss4.value, Test.ss5.value, Test.su0.value, Test.su1.value, Test.su2.value }; } public string[] opWStringLiterals(Ice.Current current) { return opStringLiterals(current); } public Test.MyClass_OpMStruct1MarshaledResult opMStruct1(Ice.Current current) { return new Test.MyClass_OpMStruct1MarshaledResult(new Test.Structure(), current); } public Test.MyClass_OpMStruct2MarshaledResult opMStruct2(Test.Structure p1, Ice.Current current) { return new Test.MyClass_OpMStruct2MarshaledResult(p1, p1, current); } public Test.MyClass_OpMSeq1MarshaledResult opMSeq1(Ice.Current current) { return new Test.MyClass_OpMSeq1MarshaledResult(new string[0], current); } public Test.MyClass_OpMSeq2MarshaledResult opMSeq2(string[] p1, Ice.Current current) { return new Test.MyClass_OpMSeq2MarshaledResult(p1, p1, current); } public Test.MyClass_OpMDict1MarshaledResult opMDict1(Ice.Current current) { return new Test.MyClass_OpMDict1MarshaledResult(new Dictionary(), current); } public Test.MyClass_OpMDict2MarshaledResult opMDict2(Dictionary p1, Ice.Current current) { return new Test.MyClass_OpMDict2MarshaledResult(p1, p1, current); } private int _opByteSOnewayCallCount = 0; }