Merge pull request #2034 from alexrp/ctx-cleanup
[mono.git] / mcs / class / System.Runtime.Remoting / Test / SyncCalls.cs
1 //
2 // MonoTests.Remoting.SyncCalls.cs
3 //
4 // Author: Lluis Sanchez Gual (lluis@ximian.com)
5 //
6 // 2003 (C) Copyright, Ximian, Inc.
7 //
8
9 using System;
10 using System.Collections;
11 using NUnit.Framework;
12 using System.Text;
13 using System.Runtime.InteropServices;
14
15 namespace MonoTests.Remoting
16 {
17         public abstract class SyncCallTest : BaseCallTest
18         {
19                 public override InstanceSurrogate GetInstanceSurrogate () { return new SyncInstanceSurrogate (); }
20                 public override AbstractSurrogate GetAbstractSurrogate () { return new SyncAbstractSurrogate (); }
21                 public override InterfaceSurrogate GetInterfaceSurrogate () { return new SyncInterfaceSurrogate (); }
22         }
23
24         public class SyncInstanceSurrogate : InstanceSurrogate
25         {
26                 public override int Simple ()
27                 {
28                         return RemoteObject.Simple ();
29                 }
30
31                 public override string PrimitiveParams (int a, uint b, char c, string d)
32                 {
33                         return RemoteObject.PrimitiveParams (a, b, c, d);
34                 }
35
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)
37                 {
38                         return RemoteObject.PrimitiveParamsInOut (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
39                 }
40
41                 public override Complex ComplexParams (ArrayList a, Complex b, string c)
42                 {
43                         return RemoteObject.ComplexParams (a, b, c);
44                 }
45
46                 public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
47                 {
48                         return RemoteObject.ComplexParamsInOut (ref a, out b, bytes, sb, c);
49                 }
50
51                 public override void ProcessContextData ()
52                 {
53                         RemoteObject.ProcessContextData ();
54                 }
55         }
56
57         public class SyncAbstractSurrogate : AbstractSurrogate
58         {
59                 public override int Simple ()
60                 {
61                         return RemoteObject.Simple ();
62                 }
63
64                 public override string PrimitiveParams (int a, uint b, char c, string d)
65                 {
66                         return RemoteObject.PrimitiveParams (a, b, c, d);
67                 }
68
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)
70                 {
71                         return RemoteObject.PrimitiveParamsInOut (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
72                 }
73
74                 public override Complex ComplexParams (ArrayList a, Complex b, string c)
75                 {
76                         return RemoteObject.ComplexParams (a, b, c);
77                 }
78
79                 public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
80                 {
81                         return RemoteObject.ComplexParamsInOut (ref a, out b, bytes, sb, c);
82                 }
83
84                 public override void ProcessContextData ()
85                 {
86                         RemoteObject.ProcessContextData ();
87                 }
88         }
89
90         public class SyncInterfaceSurrogate : InterfaceSurrogate
91         {
92                 public override int Simple ()
93                 {
94                         return RemoteObject.Simple ();
95                 }
96
97                 public override string PrimitiveParams (int a, uint b, char c, string d)
98                 {
99                         return RemoteObject.PrimitiveParams (a, b, c, d);
100                 }
101
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)
103                 {
104                         return RemoteObject.PrimitiveParamsInOut (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
105                 }
106
107                 public override Complex ComplexParams (ArrayList a, Complex b, string c)
108                 {
109                         return RemoteObject.ComplexParams (a, b, c);
110                 }
111
112                 public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
113                 {
114                         return RemoteObject.ComplexParamsInOut (ref a, out b, bytes, sb, c);
115                 }
116
117                 public override void ProcessContextData ()
118                 {
119                         RemoteObject.ProcessContextData ();
120                 }
121         }
122 }