Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / orbsvcs / DevGuideExamples / ImplRepo / Basic / MessengerClient.cpp
blobe6d23ec302e2fb1bb851b54ad64323dbac38349a
1 #include "MessengerC.h"
2 #include <iostream>
3 #include "ace/Get_Opt.h"
5 const ACE_TCHAR *ior = ACE_TEXT("file://messenger.ior");
7 int
8 parse_args (int argc, ACE_TCHAR *argv[])
10 ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("k:"));
11 int c;
13 while ((c = get_opts ()) != -1)
14 switch (c)
16 case 'k':
17 ior = get_opts.opt_arg ();
18 break;
20 case '?':
21 default:
22 ACE_ERROR_RETURN ((LM_ERROR,
23 "usage: %s "
24 "-k <ior> "
25 "\n",
26 argv [0]),
27 -1);
29 // Indicates successful parsing of the command line
30 return 0;
33 int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) {
34 try {
35 CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
37 if (parse_args (argc, argv) != 0)
38 return 1;
40 CORBA::Object_var obj = orb->string_to_object(ior);
42 Messenger_var messenger = Messenger::_narrow(obj.in());
43 if (CORBA::is_nil(messenger.in())) {
44 std::cerr << "Unable to get a Messenger reference." << std::endl;
45 return 1;
48 CORBA::String_var message = CORBA::string_dup("Hello!");
49 messenger->send_message("TAO User", "TAO Test", message.inout());
50 std::cout << "message was sent" << std::endl;
51 std::cout << "Reply was : " << message.in() << std::endl;
53 return 0;
54 } catch(const CORBA::Exception& ex) {
55 std::cerr << "Client main() Caught Exception: " << ex << std::endl;
57 return 1;