1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 #ifndef TEST_I_H
6 #define TEST_I_H
7 
8 #include <Test.h>
9 
10 class MyDerivedClassI : public Test::MyDerivedClass
11 {
12 public:
13 
14     MyDerivedClassI();
15 
16     //
17     // Override the Object "pseudo" operations to verify the operation mode.
18     //
19     virtual bool ice_isA(ICE_IN(std::string), const Ice::Current&) const;
20     virtual void ice_ping(const Ice::Current&) const;
21     virtual std::vector<std::string> ice_ids(const Ice::Current&) const;
22 #ifdef ICE_CPP11_MAPPING
23     virtual std::string ice_id(const Ice::Current&) const;
24 #else
25     virtual const std::string& ice_id(const Ice::Current&) const;
26 #endif
27 
28     virtual void shutdown(const Ice::Current&);
29 
30     virtual bool supportsCompress(const Ice::Current&);
31 
32     virtual void opVoid(const Ice::Current&);
33 
34     virtual Ice::Byte opByte(Ice::Byte,
35                              Ice::Byte,
36                              Ice::Byte&,
37                              const Ice::Current&);
38 
39     virtual bool opBool(bool,
40                         bool,
41                         bool&,
42                         const Ice::Current&);
43 
44     virtual Ice::Long opShortIntLong(Ice::Short,
45                                      Ice::Int,
46                                      Ice::Long,
47                                      Ice::Short&,
48                                      Ice::Int&,
49                                      Ice::Long&,
50                                      const Ice::Current&);
51 
52     virtual Ice::Double opFloatDouble(Ice::Float,
53                                       Ice::Double,
54                                       Ice::Float&,
55                                       Ice::Double&,
56                                       const Ice::Current&);
57 
58     virtual std::string opString(ICE_IN(std::string),
59                                  ICE_IN(std::string),
60                                  std::string&,
61                                  const Ice::Current&);
62 
63     virtual Test::MyEnum opMyEnum(Test::MyEnum,
64                                   Test::MyEnum&,
65                                   const Ice::Current&);
66 
67     virtual Test::MyClassPrxPtr opMyClass(ICE_IN(Test::MyClassPrxPtr),
68                                           Test::MyClassPrxPtr&, Test::MyClassPrxPtr&,
69                                           const Ice::Current&);
70 
71     virtual Test::Structure opStruct(ICE_IN(Test::Structure),
72                                      ICE_IN(Test::Structure),
73                                      Test::Structure&,
74                                      const Ice::Current&);
75 
76     virtual Test::ByteS opByteS(ICE_IN(Test::ByteS),
77                                 ICE_IN(Test::ByteS),
78                                 Test::ByteS&,
79                                 const Ice::Current&);
80 
81     virtual Test::BoolS opBoolS(ICE_IN(Test::BoolS),
82                                 ICE_IN(Test::BoolS),
83                                 Test::BoolS&,
84                                 const Ice::Current&);
85 
86     virtual Test::LongS opShortIntLongS(ICE_IN(Test::ShortS),
87                                         ICE_IN(Test::IntS),
88                                         ICE_IN(Test::LongS),
89                                         Test::ShortS&,
90                                         Test::IntS&,
91                                         Test::LongS&,
92                                         const Ice::Current&);
93 
94     virtual Test::DoubleS opFloatDoubleS(ICE_IN(Test::FloatS),
95                                          ICE_IN(Test::DoubleS),
96                                          Test::FloatS&,
97                                          Test::DoubleS&,
98                                          const Ice::Current&);
99 
100     virtual Test::StringS opStringS(ICE_IN(Test::StringS),
101                                     ICE_IN(Test::StringS),
102                                     Test::StringS&,
103                                     const Ice::Current&);
104 
105     virtual Test::ByteSS opByteSS(ICE_IN(Test::ByteSS),
106                                   ICE_IN(Test::ByteSS),
107                                   Test::ByteSS&,
108                                   const Ice::Current&);
109 
110     virtual Test::BoolSS opBoolSS(ICE_IN(Test::BoolSS),
111                                   ICE_IN(Test::BoolSS),
112                                   Test::BoolSS&,
113                                   const Ice::Current&);
114 
115     virtual Test::LongSS opShortIntLongSS(ICE_IN(Test::ShortSS),
116                                           ICE_IN(Test::IntSS),
117                                           ICE_IN(Test::LongSS),
118                                           Test::ShortSS&,
119                                           Test::IntSS&,
120                                           Test::LongSS&,
121                                           const Ice::Current&);
122 
123     virtual Test::DoubleSS opFloatDoubleSS(ICE_IN(Test::FloatSS),
124                                            ICE_IN(Test::DoubleSS),
125                                            Test::FloatSS&,
126                                            Test::DoubleSS&,
127                                            const Ice::Current&);
128 
129     virtual Test::StringSS opStringSS(ICE_IN(Test::StringSS),
130                                       ICE_IN(Test::StringSS),
131                                       Test::StringSS&,
132                                       const Ice::Current&);
133 
134     virtual Test::StringSSS opStringSSS(ICE_IN(Test::StringSSS),
135                                         ICE_IN(Test::StringSSS),
136                                         Test::StringSSS&,
137                                         const ::Ice::Current&);
138 
139     virtual Test::ByteBoolD opByteBoolD(ICE_IN(Test::ByteBoolD),
140                                         ICE_IN(Test::ByteBoolD),
141                                         Test::ByteBoolD&,
142                                         const Ice::Current&);
143 
144     virtual Test::ShortIntD opShortIntD(ICE_IN(Test::ShortIntD),
145                                         ICE_IN(Test::ShortIntD),
146                                         Test::ShortIntD&,
147                                         const Ice::Current&);
148 
149     virtual Test::LongFloatD opLongFloatD(ICE_IN(Test::LongFloatD),
150                                           ICE_IN(Test::LongFloatD),
151                                           Test::LongFloatD&,
152                                           const Ice::Current&);
153 
154     virtual Test::StringStringD opStringStringD(ICE_IN(Test::StringStringD),
155                                                 ICE_IN(Test::StringStringD),
156                                                 Test::StringStringD&,
157                                                 const Ice::Current&);
158 
159     virtual Test::StringMyEnumD opStringMyEnumD(ICE_IN(Test::StringMyEnumD),
160                                                 ICE_IN(Test::StringMyEnumD),
161                                                 Test::StringMyEnumD&,
162                                                 const Ice::Current&);
163 
164     virtual Test::MyEnumStringD opMyEnumStringD(ICE_IN(Test::MyEnumStringD),
165                                                 ICE_IN(Test::MyEnumStringD),
166                                                 Test::MyEnumStringD&,
167                                                 const Ice::Current&);
168 
169     virtual Test::MyStructMyEnumD opMyStructMyEnumD(ICE_IN(Test::MyStructMyEnumD),
170                                                     ICE_IN(Test::MyStructMyEnumD),
171                                                     Test::MyStructMyEnumD&,
172                                                     const Ice::Current&);
173 
174     virtual Test::ByteBoolDS opByteBoolDS(ICE_IN(Test::ByteBoolDS),
175                                           ICE_IN(Test::ByteBoolDS),
176                                           Test::ByteBoolDS&,
177                                           const Ice::Current&);
178 
179     virtual Test::ShortIntDS opShortIntDS(ICE_IN(Test::ShortIntDS),
180                                           ICE_IN(Test::ShortIntDS),
181                                           Test::ShortIntDS&,
182                                           const Ice::Current&);
183 
184     virtual Test::LongFloatDS opLongFloatDS(ICE_IN(Test::LongFloatDS),
185                                             ICE_IN(Test::LongFloatDS),
186                                             Test::LongFloatDS&,
187                                             const Ice::Current&);
188 
189     virtual Test::StringStringDS opStringStringDS(ICE_IN(Test::StringStringDS),
190                                                   ICE_IN(Test::StringStringDS),
191                                                   Test::StringStringDS&,
192                                                   const Ice::Current&);
193 
194     virtual Test::StringMyEnumDS opStringMyEnumDS(ICE_IN(Test::StringMyEnumDS),
195                                                   ICE_IN(Test::StringMyEnumDS),
196                                                   Test::StringMyEnumDS&,
197                                                   const Ice::Current&);
198 
199     virtual Test::MyStructMyEnumDS opMyStructMyEnumDS(ICE_IN(Test::MyStructMyEnumDS),
200                                                       ICE_IN(Test::MyStructMyEnumDS),
201                                                       Test::MyStructMyEnumDS&,
202                                                       const Ice::Current&);
203 
204     virtual Test::MyEnumStringDS opMyEnumStringDS(ICE_IN(Test::MyEnumStringDS),
205                                                   ICE_IN(Test::MyEnumStringDS),
206                                                   Test::MyEnumStringDS&,
207                                                   const Ice::Current&);
208 
209     virtual Test::ByteByteSD opByteByteSD(ICE_IN(Test::ByteByteSD),
210                                           ICE_IN(Test::ByteByteSD),
211                                           Test::ByteByteSD&,
212                                           const Ice::Current&);
213 
214     virtual Test::BoolBoolSD opBoolBoolSD(ICE_IN(Test::BoolBoolSD),
215                                           ICE_IN(Test::BoolBoolSD),
216                                           Test::BoolBoolSD&,
217                                           const Ice::Current&);
218 
219     virtual Test::ShortShortSD opShortShortSD(ICE_IN(Test::ShortShortSD),
220                                               ICE_IN(Test::ShortShortSD),
221                                               Test::ShortShortSD&,
222                                               const Ice::Current&);
223 
224     virtual Test::IntIntSD opIntIntSD(ICE_IN(Test::IntIntSD),
225                                       ICE_IN(Test::IntIntSD),
226                                       Test::IntIntSD&,
227                                       const Ice::Current&);
228 
229     virtual Test::LongLongSD opLongLongSD(ICE_IN(Test::LongLongSD),
230                                           ICE_IN(Test::LongLongSD),
231                                           Test::LongLongSD&,
232                                           const Ice::Current&);
233 
234     virtual Test::StringFloatSD opStringFloatSD(ICE_IN(Test::StringFloatSD),
235                                                 ICE_IN(Test::StringFloatSD),
236                                                 Test::StringFloatSD&,
237                                                 const Ice::Current&);
238 
239     virtual Test::StringDoubleSD opStringDoubleSD(ICE_IN(Test::StringDoubleSD),
240                                                   ICE_IN(Test::StringDoubleSD),
241                                                   Test::StringDoubleSD&,
242                                                   const Ice::Current&);
243 
244     virtual Test::StringStringSD opStringStringSD(ICE_IN(Test::StringStringSD),
245                                                   ICE_IN(Test::StringStringSD),
246                                                   Test::StringStringSD&,
247                                                   const Ice::Current&);
248 
249     virtual Test::MyEnumMyEnumSD opMyEnumMyEnumSD(ICE_IN(Test::MyEnumMyEnumSD),
250                                                   ICE_IN(Test::MyEnumMyEnumSD),
251                                                   Test::MyEnumMyEnumSD&,
252                                                   const Ice::Current&);
253 
254     virtual Test::IntS opIntS(ICE_IN(Test::IntS), const Ice::Current&);
255 
256     virtual void opByteSOneway(ICE_IN(Test::ByteS), const Ice::Current&);
257     virtual int opByteSOnewayCallCount(const Ice::Current&);
258 
259     virtual Ice::Context opContext(const Ice::Current&);
260 
261     virtual void opDoubleMarshaling(Ice::Double, ICE_IN(Test::DoubleS), const Ice::Current&);
262 
263     virtual void opIdempotent(const Ice::Current&);
264 
265     virtual void opNonmutating(const Ice::Current&);
266 
267     virtual void opDerived(const Ice::Current&);
268 
269     virtual Ice::Byte opByte1(Ice::Byte, const Ice::Current&);
270 
271     virtual Ice::Short opShort1(Ice::Short, const Ice::Current&);
272 
273     virtual Ice::Int opInt1(Ice::Int, const Ice::Current&);
274 
275     virtual Ice::Long opLong1(Ice::Long, const Ice::Current&);
276 
277     virtual Ice::Float opFloat1(Ice::Float, const Ice::Current&);
278 
279     virtual Ice::Double opDouble1(Ice::Double, const Ice::Current&);
280 
281     virtual std::string opString1(ICE_IN(std::string), const Ice::Current&);
282 
283     virtual Test::StringS opStringS1(ICE_IN(Test::StringS), const Ice::Current&);
284 
285     virtual Test::ByteBoolD opByteBoolD1(ICE_IN(Test::ByteBoolD), const Ice::Current&);
286 
287     virtual Test::StringS opStringS2(ICE_IN(Test::StringS), const Ice::Current&);
288 
289     virtual Test::ByteBoolD opByteBoolD2(ICE_IN(Test::ByteBoolD), const Ice::Current&);
290 
291     virtual Test::MyStruct1 opMyStruct1(ICE_IN(Test::MyStruct1), const Ice::Current&);
292 
293     virtual Test::MyClass1Ptr opMyClass1(ICE_IN(Test::MyClass1Ptr), const Ice::Current&);
294 
295     virtual Test::StringS opStringLiterals(const Ice::Current&);
296 
297     virtual Test::WStringS opWStringLiterals(const Ice::Current&);
298 
299 #ifdef ICE_CPP11_MAPPING
300     virtual OpMStruct1MarshaledResult opMStruct1(const Ice::Current&);
301 
302     virtual OpMStruct2MarshaledResult opMStruct2(ICE_IN(Test::Structure), const Ice::Current&);
303 
304     virtual OpMSeq1MarshaledResult opMSeq1(const Ice::Current&);
305 
306     virtual OpMSeq2MarshaledResult opMSeq2(ICE_IN(Test::StringS), const Ice::Current&);
307 
308     virtual OpMDict1MarshaledResult opMDict1(const Ice::Current&);
309 
310     virtual OpMDict2MarshaledResult opMDict2(ICE_IN(Test::StringStringD), const Ice::Current&);
311 #else
312     virtual Test::Structure opMStruct1(const Ice::Current&);
313 
314     virtual Test::Structure opMStruct2(ICE_IN(Test::Structure), Test::Structure&, const Ice::Current&);
315 
316     virtual Test::StringS opMSeq1(const Ice::Current&);
317 
318     virtual Test::StringS opMSeq2(ICE_IN(Test::StringS), Test::StringS&, const Ice::Current&);
319 
320     virtual Test::StringStringD opMDict1(const Ice::Current&);
321 
322     virtual Test::StringStringD opMDict2(ICE_IN(Test::StringStringD), Test::StringStringD&, const Ice::Current&);
323 #endif
324 
325 private:
326 
327     IceUtil::Mutex _mutex;
328     int _opByteSOnewayCallCount;
329 };
330 
331 #endif
332