ICE 3.4.2
[php5-ice-freebsdport.git] / py / test / Ice / custom / Test.ice
blob4a3aad6b3b8aa3d71142b6b5ef3d630036611c49
1 // **********************************************************************
2 //
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
4 //
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
7 //
8 // **********************************************************************
10 #ifndef TEST_ICE
11 #define TEST_ICE
13 module Test
15     sequence<byte> ByteString; /* By default, sequence<byte> is received as a string. */
16     ["python:seq:list"] sequence<byte> ByteList;
18     sequence<string> StringList; /* By default, a sequence is received as a list. */
19     ["python:seq:tuple"] sequence<string> StringTuple;
21     struct S
22     {
23         ByteString b1;
24         ["python:seq:list"] ByteString b2;
25         ["python:seq:default"] ByteList b3;
26         ByteList b4;
27         StringList s1;
28         ["python:seq:tuple"] StringList s2;
29         StringTuple s3;
30         ["python:seq:default"] StringTuple s4;
31     };
33     class C
34     {
35         ByteString b1;
36         ["python:seq:list"] ByteString b2;
37         ["python:seq:default"] ByteList b3;
38         ByteList b4;
39         StringList s1;
40         ["python:seq:tuple"] StringList s2;
41         StringTuple s3;
42         ["python:seq:default"] StringTuple s4;
43     };
45     interface Custom
46     {
47         ByteString opByteString1(ByteString b1, out ByteString b2);
48         ["python:seq:tuple"] ByteString opByteString2(["python:seq:list"] ByteString b1,
49                                                       out ["python:seq:list"] ByteString b2);
51         ByteList opByteList1(ByteList b1, out ByteList b2);
52         ["python:seq:default"] ByteList opByteList2(["python:seq:tuple"] ByteList b1,
53                                                     out ["python:seq:tuple"] ByteList b2);
55         StringList opStringList1(StringList s1, out StringList s2);
56         ["python:seq:tuple"] StringList opStringList2(["python:seq:tuple"] StringList s1,
57                                                       out ["python:seq:tuple"] StringList s2);
59         StringTuple opStringTuple1(StringTuple s1, out StringTuple s2);
60         ["python:seq:list"] StringTuple opStringTuple2(["python:seq:list"] StringTuple s1,
61                                                         out ["python:seq:default"] StringTuple s2);
63         void sendS(S val);
64         void sendC(C val);
66         void shutdown();
67     };
70 #endif