summaryrefslogtreecommitdiff
path: root/protobuf/test/cpp/Test.ice
blob: cdcc754e9270d8c8a2ba8ebe53b876be63523e01 (plain)
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
// **********************************************************************
//
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
//
// This copy of Ice Protobuf is licensed to you under the terms
// described in the ICE_PROTOBUF_LICENSE file included in this
// distribution.
//
// **********************************************************************

#ifndef TEST_ICE
#define TEST_ICE

[["cpp:include:Test.pb.h"]]
[["cpp:include:StreamProtobuf.h"]]

module Test
{

["cpp:type:test::Message"] sequence<byte> Message;

class MyClass
{
    void shutdown();

    Message opMessage(Message i, out Message o);

    ["amd"] Message opMessageAMD(Message i, out Message o);
};

// Remaining type definitions are there to verify that the generated
// code compiles correctly.

sequence<Message> SLS;
sequence<SLS> SLSS;
dictionary<int, Message> SLD;
dictionary<int, SLS> SLSD;

//
// The following doesn't compile since the generated protobuf type
// doesn't define operator== or operator<
//
// struct Foo
// {
//     Message SLmem;
//     SLS SLSmem;
// };

exception Bar
{
    Message SLmem;
    SLS SLSmem;
};

class Baz
{
    Message SLmem;
    SLS SLSmem;
};

};

#endif