summaryrefslogtreecommitdiff
path: root/cpp/demo/Ice/invoke/Printer.ice
blob: 1ad4567b4544ca1b07fb524bd7f56a2af81d6c27 (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
// **********************************************************************
//
// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************

#ifndef INVOKE_ICE
#define INVOKE_ICE

module Demo
{
exception PrintFailure
{
    string reason;
};

sequence<string> StringSeq;

dictionary<string, string> StringDict;

enum Color { red, green, blue };

struct Structure
{
    string name;
    Color value;
};

sequence<Structure> StructureSeq;

class C
{
    Structure s;
};

interface Printer
{
    void printString(string message);
    void printStringSequence(StringSeq seq);
    void printDictionary(StringDict dict);
    void printEnum(Color c);
    void printStruct(Structure st);
    void printStructSequence(StructureSeq seq);
    void printClass(C cls);
    C getValues(out string str);
    void throwPrintFailure() throws PrintFailure;
    void shutdown();
};
};

#endif