summaryrefslogtreecommitdiff
path: root/CIAO/tests/DAnCE/StoreReferences/client.cpp
blob: 951e3777b5506c77c156a81fad0e67479fb96d53 (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
#include "orbsvcs/CosNamingC.h"

int ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
    ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Starting StoreReferences test\n")));

    try
    {
        // Initialize orb
        CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
        CORBA::Object_var obj;
        CosNaming::NamingContextExt_var ns;

        try
        {
            ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Resolving name server\n")));

            // retrieve ns
            obj = orb->resolve_initial_references ("NameService");
            ns = CosNaming::NamingContextExt::_narrow (obj.in ());
            if (CORBA::is_nil (obj.in ()))
                ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unable to resolve name server\n")));
        }
        catch (const CORBA::Exception& ex)
        {
            ex._tao_print_exception (ACE_TEXT ("Unable to resolve name server"));
            return 1;
        }

        try
        {
            ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Resolving deployed component\n")));

            // retrieve deployed component
            obj = ns->resolve_str ("TestComp");
            if (CORBA::is_nil (obj.in ()))
              ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unable to resolve deployed component\n")));

        }
        catch (const CORBA::Exception& ex)
        {
            ex._tao_print_exception (ACE_TEXT ("Unable to resolve deployed component"));
            return 2;
        }
    }
    catch (const CORBA::Exception& ex)
    {
        ex._tao_print_exception (ACE_TEXT ("Error while running test"));
        return 1;
    }

    ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("StoreReferences test OK\n")));
    return 0;
}