3 #include "ace/OS_NS_unistd.h"
4 #include "ace/Get_Opt.h"
6 const ACE_TCHAR
*hostname
= ACE_TEXT ("localhost");
7 const ACE_TCHAR
*port
= ACE_TEXT ("12345");
10 : public POA_AMI_test::AMI_adderHandler
,
11 public ACE_Task_Base
{
14 AdderCallback(CORBA::ORB_ptr orb
)
15 : orb(CORBA::ORB::_duplicate(orb
)) {
20 CORBA::Long ami_return_val
23 ACE_DEBUG ((LM_DEBUG
, "Return value: %d\n", ami_return_val
));
26 virtual void add_excep (
27 ::Messaging::ExceptionHolder
*
30 ACE_DEBUG ((LM_DEBUG
, "Caught exception in _excep\n"));
44 parse_args (int argc
, ACE_TCHAR
*argv
[])
46 ACE_Get_Opt
get_opts (argc
, argv
, ACE_TEXT("h:p:"));
49 while ((c
= get_opts ()) != -1)
53 hostname
= get_opts
.opt_arg ();
56 port
= get_opts
.opt_arg ();
60 ACE_ERROR_RETURN ((LM_ERROR
,
68 // Indicates successful parsing of the command line
73 int ACE_TMAIN (int argc
, ACE_TCHAR
* argv
[]) {
75 ACE_TCHAR address_servant
[1000];
79 CORBA::ORB_var orb
= CORBA::ORB_init (argc
, argv
);
81 if (parse_args (argc
, argv
) != 0)
83 // Get reference to Root POA
85 = orb
->resolve_initial_references ("RootPOA");
87 PortableServer::POA_var rootPOA
= PortableServer::POA::_narrow (obj
.in ());
89 // Activate POA manager
90 PortableServer::POAManager_var mgr
91 = rootPOA
->the_POAManager ();
95 ACE_OS::sprintf(address_servant
, ACE_TEXT("corbaloc:iiop:%s:%s/Adder"), hostname
, port
);
97 // Resolve Adder Reference
98 obj
= orb
->string_to_object(ACE_TEXT_ALWAYS_CHAR(address_servant
));
99 AMI_test::adder_var adder
= AMI_test::adder::_narrow(obj
.in ());
101 AdderCallback
cb_servant(orb
.in ());
106 adder
->sendc_add(cb_servant
._this(), 3, 2);
110 ACE_ERROR ((LM_ERROR
, "ERROR: Caught exception after sendc_add\n"));
117 ACE_ERROR ((LM_ERROR
, "ERROR: Caught exception in main\n"));