1 #include "started_pch.h"
3 #include "MessengerC.h"
5 #include "ace/Get_Opt.h"
7 const ACE_TCHAR
*ior
= ACE_TEXT ("file://Messenger.ior");
10 parse_args (int argc
, ACE_TCHAR
*argv
[])
12 ACE_Get_Opt
get_opts (argc
, argv
, ACE_TEXT("k:"));
15 while ((c
= get_opts ()) != -1)
19 ior
= get_opts
.opt_arg ();
24 ACE_ERROR_RETURN ((LM_ERROR
,
31 // Indicates successful parsing of the command line
35 int ACE_TMAIN (int argc
, ACE_TCHAR
* argv
[])
38 // Initialize the ORB.
39 CORBA::ORB_var orb
= CORBA::ORB_init( argc
, argv
);
41 if (parse_args (argc
, argv
) != 0)
44 // Read and destringify the Messenger object's IOR.
45 CORBA::Object_var obj
= orb
->string_to_object( ior
);
46 if( CORBA::is_nil( obj
.in() ) ) {
47 std::cerr
<< "Could not get Messenger IOR." << std::endl
;
51 // Narrow the IOR to a Messenger object reference.
52 Messenger_var messenger
= Messenger::_narrow( obj
.in() );
53 if( CORBA::is_nil( messenger
.in() ) ) {
54 std::cerr
<< "IOR was not a Messenger object reference." << std::endl
;
58 // Send a message the the Messenger object.
59 CORBA::String_var msg
= CORBA::string_dup( "Hello!" );
60 messenger
->send_message( "TAO User", "TAO Test", msg
.inout() );
62 // Print the Messenger's reply.
63 std::cout
<< "Reply: " << msg
.in() << std::endl
;
69 catch(const CORBA::Exception
& ex
) {
70 std::cerr
<< "CORBA exception: " << ex
<< std::endl
;