2 // MonoTests.Remoting.SyncCalls.cs
4 // Author: Lluis Sanchez Gual (lluis@ximian.com)
6 // 2003 (C) Copyright, Ximian, Inc.
10 using System
.Collections
;
11 using NUnit
.Framework
;
13 using System
.Runtime
.InteropServices
;
15 namespace MonoTests
.Remoting
17 public abstract class SyncCallTest
: BaseCallTest
19 public override InstanceSurrogate
GetInstanceSurrogate () { return new SyncInstanceSurrogate (); }
20 public override AbstractSurrogate
GetAbstractSurrogate () { return new SyncAbstractSurrogate (); }
21 public override InterfaceSurrogate
GetInterfaceSurrogate () { return new SyncInterfaceSurrogate (); }
24 public class SyncInstanceSurrogate
: InstanceSurrogate
26 public override int Simple ()
28 return RemoteObject
.Simple ();
31 public override string PrimitiveParams (int a
, uint b
, char c
, string d
)
33 return RemoteObject
.PrimitiveParams (a
, b
, c
, d
);
36 public override string PrimitiveParamsInOut (ref int a1
, out int a2
, ref float b1
, out float b2
, int filler
, ref char c1
, out char c2
, ref string d1
, out string d2
)
38 return RemoteObject
.PrimitiveParamsInOut (ref a1
, out a2
, ref b1
, out b2
, filler
, ref c1
, out c2
, ref d1
, out d2
);
41 public override Complex
ComplexParams (ArrayList a
, Complex b
, string c
)
43 return RemoteObject
.ComplexParams (a
, b
, c
);
46 public override Complex
ComplexParamsInOut (ref ArrayList a
, out Complex b
, [In
,Out
] byte[] bytes
, [In
,Out
] StringBuilder sb
, string c
)
48 return RemoteObject
.ComplexParamsInOut (ref a
, out b
, bytes
, sb
, c
);
51 public override void ProcessContextData ()
53 RemoteObject
.ProcessContextData ();
57 public class SyncAbstractSurrogate
: AbstractSurrogate
59 public override int Simple ()
61 return RemoteObject
.Simple ();
64 public override string PrimitiveParams (int a
, uint b
, char c
, string d
)
66 return RemoteObject
.PrimitiveParams (a
, b
, c
, d
);
69 public override string PrimitiveParamsInOut (ref int a1
, out int a2
, ref float b1
, out float b2
, int filler
, ref char c1
, out char c2
, ref string d1
, out string d2
)
71 return RemoteObject
.PrimitiveParamsInOut (ref a1
, out a2
, ref b1
, out b2
, filler
, ref c1
, out c2
, ref d1
, out d2
);
74 public override Complex
ComplexParams (ArrayList a
, Complex b
, string c
)
76 return RemoteObject
.ComplexParams (a
, b
, c
);
79 public override Complex
ComplexParamsInOut (ref ArrayList a
, out Complex b
, [In
,Out
] byte[] bytes
, [In
,Out
] StringBuilder sb
, string c
)
81 return RemoteObject
.ComplexParamsInOut (ref a
, out b
, bytes
, sb
, c
);
84 public override void ProcessContextData ()
86 RemoteObject
.ProcessContextData ();
90 public class SyncInterfaceSurrogate
: InterfaceSurrogate
92 public override int Simple ()
94 return RemoteObject
.Simple ();
97 public override string PrimitiveParams (int a
, uint b
, char c
, string d
)
99 return RemoteObject
.PrimitiveParams (a
, b
, c
, d
);
102 public override string PrimitiveParamsInOut (ref int a1
, out int a2
, ref float b1
, out float b2
, int filler
, ref char c1
, out char c2
, ref string d1
, out string d2
)
104 return RemoteObject
.PrimitiveParamsInOut (ref a1
, out a2
, ref b1
, out b2
, filler
, ref c1
, out c2
, ref d1
, out d2
);
107 public override Complex
ComplexParams (ArrayList a
, Complex b
, string c
)
109 return RemoteObject
.ComplexParams (a
, b
, c
);
112 public override Complex
ComplexParamsInOut (ref ArrayList a
, out Complex b
, [In
,Out
] byte[] bytes
, [In
,Out
] StringBuilder sb
, string c
)
114 return RemoteObject
.ComplexParamsInOut (ref a
, out b
, bytes
, sb
, c
);
117 public override void ProcessContextData ()
119 RemoteObject
.ProcessContextData ();