summaryrefslogtreecommitdiff
path: root/TAO/tests/Explicit_Event_Loop/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Explicit_Event_Loop/server.cpp')
-rw-r--r--TAO/tests/Explicit_Event_Loop/server.cpp193
1 files changed, 0 insertions, 193 deletions
diff --git a/TAO/tests/Explicit_Event_Loop/server.cpp b/TAO/tests/Explicit_Event_Loop/server.cpp
deleted file mode 100644
index 498c465ec22..00000000000
--- a/TAO/tests/Explicit_Event_Loop/server.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO/tests/Explicit_Event_Loop
-//
-// = FILENAME
-// server.cpp
-//
-// = AUTHORS
-// Source code used in TAO has been modified and adapted from the
-// code provided in the book, "Advanced CORBA Programming with C++"
-// by Michi Henning and Steve Vinoski. Copyright
-// 1999. Addison-Wesley, Reading, MA. Used with permission of
-// Addison-Wesley.
-//
-// Modified for TAO by Mike Moran <mm4@cs.wustl.edu>
-//
-// ============================================================================
-
-#include "server.h"
-#include "tao/debug.h"
-#include "ace/Get_Opt.h"
-#include "ace/OS_NS_stdio.h"
-#include "ace/OS_NS_unistd.h"
-
-const char *ior_output_file = "server.ior";
-int done = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:d");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
- case 'd':
- TAO_debug_level++;
- break;
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-
-TimeOfDay
-Time_impl::
-get_gmt ( ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- time_t time_now = time (0);
- struct tm *time_p = gmtime (&time_now);
-
- TimeOfDay tod;
- tod.hour = time_p->tm_hour;
- tod.minute = time_p->tm_min;
- tod.second = time_p->tm_sec;
-
- done = 1;
-
- return tod;
-}
-
-void do_something_else()
-{
- // Sleep a bit so we don't eat up
- // a ton of cpu
- ACE_OS::sleep(3);
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv,
- ""
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- {
- return 1;
- }
-
- // Get reference to Root POA.
- CORBA::Object_var obj
- = orb->resolve_initial_references ("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var poa
- = PortableServer::POA::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Activate POA manager.
- PortableServer::POAManager_var mgr
- = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Create an object.
- Time_impl time_servant;
-
- // Write its stringified reference to stdout.
- Time_var tm = time_servant._this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var str = orb->object_to_string (tm.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- "%s\n",
- str.in ()));
-
- if (ior_output_file != 0)
- {
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
-
- if (output_file == 0)
- {
- ACE_ERROR_RETURN ((
- LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file
- ),
- 1
- );
- }
-
- ACE_OS::fprintf (output_file,
- "%s",
- str.in ());
- ACE_OS::fclose (output_file);
- }
-
- // Explicit Event Loop.
- while (!done)
- {
- CORBA::Boolean pending =
- orb->work_pending (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (pending)
- {
- orb->perform_work (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- do_something_else ();
- }
-
- orb->shutdown ();
- orb->destroy ();
- }
-
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "server: a CORBA exception occured");
- return 1;
- }
- ACE_CATCHALL
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "%s\n",
- "client: an unknown exception was caught\n"),
- 1);
- }
- ACE_ENDTRY;
-
- return 0;
-}