3 //=============================================================================
7 * @author Ossama Othman <ossama@uci.edu>
9 //=============================================================================
12 #include "ace/Service_Config.h"
13 #include "ace/Thread_Manager.h"
16 ACE_TMAIN(int, ACE_TCHAR
*[])
18 // Process a Service Configurator directive that will cause the test
19 // client module to be dynamically loaded.
21 // This is done to prevent the client binary from being forced to
22 // explicitly link to the test client module library. Hence, the
23 // client binary is completely decoupled from the test client
24 // module (and the ORB!).
26 // In the process of doing this, the Test method provided by target
27 // CORBA object will be invoked.
28 if (ACE_Service_Config::process_directive (
29 ACE_DYNAMIC_SERVICE_DIRECTIVE(
32 "_make_Test_Client_Module",
33 "-k file://test.ior")) != 0)
35 ACE_ERROR_RETURN ((LM_ERROR
,
37 "ERROR: Client unable to process the "
38 "Service Configurator directive"),
43 "CLIENT: CORBA-portion of the test dynamically loaded.\n"));
45 // Wait for all threads to complete.
46 ACE_Thread_Manager::instance ()->wait ();
49 "CLIENT: Terminated successfully.\n"));