File: DelegateCalls.cs

package info (click to toggle)
mono 1.2.2.1-1etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 142,720 kB
  • ctags: 256,408
  • sloc: cs: 1,495,736; ansic: 249,442; sh: 18,327; xml: 12,463; makefile: 5,046; perl: 1,248; asm: 635; yacc: 285; sql: 7
file content (140 lines) | stat: -rw-r--r-- 4,893 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
//
// MonoTests.Remoting.DelegateCalls.cs
//
// Author: Lluis Sanchez Gual (lluis@ximian.com)
//
// 2003 (C) Copyright, Ximian, Inc.
//

using System;
using System.Collections;
using NUnit.Framework;
using System.Text;
using System.Runtime.InteropServices;

namespace MonoTests.Remoting
{
	public abstract class DelegateCallTest : BaseCallTest
	{
		public override InstanceSurrogate GetInstanceSurrogate () { return new DelegateInstanceSurrogate (); }
		public override AbstractSurrogate GetAbstractSurrogate () { return new DelegateAbstractSurrogate (); }
		public override InterfaceSurrogate GetInterfaceSurrogate () { return new DelegateInterfaceSurrogate (); }
	}

	public class DelegateInstanceSurrogate : InstanceSurrogate
	{
		public override int Simple ()
		{
			DelegateSimple de = new DelegateSimple (RemoteObject.Simple);
			return de ();
		}

		public override string PrimitiveParams (int a, uint b, char c, string d)
		{
			DelegatePrimitiveParams de = new DelegatePrimitiveParams (RemoteObject.PrimitiveParams);
			return de (a,b,c,d);
		}

		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)
		{
			DelegatePrimitiveParamsInOut de = new DelegatePrimitiveParamsInOut (RemoteObject.PrimitiveParamsInOut);
			return de (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
		}

		public override Complex ComplexParams (ArrayList a, Complex b, string c)
		{
			DelegateComplexParams de = new DelegateComplexParams (RemoteObject.ComplexParams);
			return de (a,b,c);
		}

		public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
		{
			DelegateComplexParamsInOut de = new DelegateComplexParamsInOut (RemoteObject.ComplexParamsInOut);
			return de (ref a, out b, bytes, sb, c);
		}

		public override void ProcessContextData ()
		{
			DelegateProcessContextData de = new DelegateProcessContextData (RemoteObject.ProcessContextData);
			de ();
		}
	}

	public class DelegateAbstractSurrogate : AbstractSurrogate
	{
		public override int Simple ()
		{
			DelegateSimple de = new DelegateSimple (RemoteObject.Simple);
			return de ();
		}

		public override string PrimitiveParams (int a, uint b, char c, string d)
		{
			DelegatePrimitiveParams de = new DelegatePrimitiveParams (RemoteObject.PrimitiveParams);
			return de (a,b,c,d);
		}

		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)
		{
			DelegatePrimitiveParamsInOut de = new DelegatePrimitiveParamsInOut (RemoteObject.PrimitiveParamsInOut);
			return de (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
		}

		public override Complex ComplexParams (ArrayList a, Complex b, string c)
		{
			DelegateComplexParams de = new DelegateComplexParams (RemoteObject.ComplexParams);
			return de (a,b,c);
		}

		public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
		{
			DelegateComplexParamsInOut de = new DelegateComplexParamsInOut (RemoteObject.ComplexParamsInOut);
			return de (ref a, out b, bytes, sb, c);
		}

		public override void ProcessContextData ()
		{
			DelegateProcessContextData de = new DelegateProcessContextData (RemoteObject.ProcessContextData);
			de ();
		}
	}

	public class DelegateInterfaceSurrogate : InterfaceSurrogate
	{
		public override int Simple ()
		{
			DelegateSimple de = new DelegateSimple (RemoteObject.Simple);
			return de ();
		}

		public override string PrimitiveParams (int a, uint b, char c, string d)
		{
			DelegatePrimitiveParams de = new DelegatePrimitiveParams (RemoteObject.PrimitiveParams);
			return de (a,b,c,d);
		}

		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)
		{
			DelegatePrimitiveParamsInOut de = new DelegatePrimitiveParamsInOut (RemoteObject.PrimitiveParamsInOut);
			return de (ref a1, out a2, ref b1, out b2, filler, ref c1, out c2, ref d1, out d2);
		}

		public override Complex ComplexParams (ArrayList a, Complex b, string c)
		{
			DelegateComplexParams de = new DelegateComplexParams (RemoteObject.ComplexParams);
			return de (a,b,c);
		}

		public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
		{
			DelegateComplexParamsInOut de = new DelegateComplexParamsInOut (RemoteObject.ComplexParamsInOut);
			return de (ref a, out b, bytes, sb, c);
		}

		public override void ProcessContextData ()
		{
			DelegateProcessContextData de = new DelegateProcessContextData (RemoteObject.ProcessContextData);
			de ();
		}
	}
}