summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/library/AllTests.cpp
blob: ea1f5e57588ffecb02e5b5ce5b2b934bee9fb115 (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
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//

#include <Ice/Ice.h>
#include <Test.h>

ICE_DECLSPEC_IMPORT void
consume(const Ice::ObjectPtr&, const Ice::ObjectPrxPtr&);

#if defined(_MSC_VER)
#   pragma comment(lib, ICE_LIBNAME("consumer"))
#   pragma comment(lib, ICE_LIBNAME("gencode"))
#endif

class TestI : public Test::MyInterface
{
public:

    void op(bool, const Ice::Current&);
};

void
TestI::op(bool throwIt, const Ice::Current&)
{
    if(throwIt)
    {
        throw Test::UserError("error message");
    }
}

ICE_DECLSPEC_EXPORT
void allTests(const Ice::ObjectAdapterPtr& oa)
{
    Test::MyInterfacePtr servant = ICE_MAKE_SHARED(TestI);
    Test::MyInterfacePrxPtr proxy = ICE_UNCHECKED_CAST(Test::MyInterfacePrx, oa->addWithUUID(servant));
    consume(servant, proxy);
}