summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-29 23:40:40 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-29 23:40:40 +0000
commitf289568b500757eee39d27ea7512e2a501e59785 (patch)
tree5a4023ff9b21322989e4cad77e2a96319f96d340
parent4ea2011801c0730ff7b612138f928a03818a8fb8 (diff)
downloadATCD-f289568b500757eee39d27ea7512e2a501e59785.tar.gz
Wed Oct 29 17:31:16 2003 Jaiganesh B <jai@dre.vanderbilt.edu
-rw-r--r--TAO/ChangeLog33
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/Makefile1438
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.cpp81
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.h98
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.cpp87
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.h94
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.cpp82
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.h122
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/Stock.cpp32
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/Stock.h34
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/StockFactory.cpp33
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/StockFactory.h32
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/Test.idl47
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/client.cpp110
-rwxr-xr-xTAO/orbsvcs/examples/LoadBalancing/run_test.pl105
-rw-r--r--TAO/orbsvcs/examples/LoadBalancing/server.cpp369
16 files changed, 2796 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 63772f40277..6a74b62b352 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,34 @@
+Wed Oct 29 17:31:16 2003 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * orbsvcs/examples/LoadBalancing/Makefile:
+ * orbsvcs/examples/LoadBalancing/ORBInitializer.cpp:
+ * orbsvcs/examples/LoadBalancing/ORBInitializer.h:
+ * orbsvcs/examples/LoadBalancing/RPS_Monitor.cpp:
+ * orbsvcs/examples/LoadBalancing/RPS_Monitor.h:
+ * orbsvcs/examples/LoadBalancing/server.cpp:
+ * orbsvcs/examples/LoadBalancing/client.cpp:
+ * orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.h:
+ * orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.cpp:
+ * orbsvcs/examples/LoadBalancing/Stock.cpp:
+ * orbsvcs/examples/LoadBalancing/Stock.h:
+ * orbsvcs/examples/LoadBalancing/StockFactory.h:
+ * orbsvcs/examples/LoadBalancing/StockFactory.cpp:
+ * orbsvcs/examples/LoadBalancing/Test.idl:
+ * orbsvcs/examples/LoadBalancing/run_test.pl:
+
+ Added a new directory "Load Balancing" under
+ TAO/orbsvcs/examples.
+
+ This directory contains an example of the adaptive load
+ balancing strategy built in TAO's Load Balancing Service
+ named the Cygnus Load Balancing/Monitoring Service.
+
+ The server objects, which the LB service is trying to load
+ balance is a StockFactory object. Clients make lot
+ of requests to StockFactory objects, which inturn
+ call a Stock object to return the stock price of
+ a particular Stock symbol.
+
Wed Oct 29 15:03:58 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* tao/Invocation_Adapter.cpp (invoke_oneway):
@@ -8,7 +39,7 @@ Wed Oct 29 15:03:58 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
Wed Oct 29 14:14:15 2003 Venkita Subramonian <venkita@cs.wustl.edu>
- * orbsvcs/examples/RtEC/Makefile: Added Kokyu subdirectory.
+ * orbsvcs/examples/RtEC/Makefile: Added Kokyu subdirectory.
Wed Oct 29 12:57:51 2003 Jaiganesh B <jai@dre.vanderbilt.edu>
diff --git a/TAO/orbsvcs/examples/LoadBalancing/Makefile b/TAO/orbsvcs/examples/LoadBalancing/Makefile
new file mode 100644
index 00000000000..6a277beda5a
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/Makefile
@@ -0,0 +1,1438 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+IDL_FILES = Test
+IDL_SRC = TestC.cpp TestS.cpp
+BIN = client server
+
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs
+
+SRC = $(addsuffix .cpp, $(BIN) StockFactory Stock ORBInitializer ServerRequestInterceptor RPS_Monitor) $(IDL_SRC)
+
+CLIENT_OBJS = client.o TestC.o
+SERVER_OBJS = server.o StockFactory.o Stock.o ORBInitializer.o ServerRequestInterceptor.o RPS_Monitor.o $(IDL_SRC:.cpp=.o)
+
+TAO_IDLFLAGS += -Ge 1
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+.PRECIOUS: $(foreach ext, $(IDL_EXT), Test$(ext))
+
+server: $(addprefix $(VDIR),$(SERVER_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ -lTAO_CosLoadBalancing -lTAO_PortableGroup -lTAO_CosNaming -lTAO_Messaging -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_Valuetype $(TAO_SRVR_LIBS) $(POSTLINK)
+
+client: $(addprefix $(VDIR),$(CLIENT_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ -lTAO_Strategies $(TAO_CLNT_VT_LIBS) $(POSTLINK)
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), Test$(ext))
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i \
+ $(ACE_ROOT)/ace/Sample_History.h \
+ $(ACE_ROOT)/ace/Sample_History.inl \
+ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \
+ $(TAO_ROOT)/tao/Strategies/strategies_export.h \
+ $(TAO_ROOT)/tao/default_resource.h \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/default_resource.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Strategies/advanced_resource.i
+
+.obj/Stock.o .obj/Stock.so .shobj/Stock.o .shobj/Stock.so: Stock.cpp Stock.h TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i
+
+.obj/ServerRequestInterceptor.o .obj/ServerRequestInterceptor.so .shobj/ServerRequestInterceptor.o .shobj/ServerRequestInterceptor.so: ServerRequestInterceptor.cpp \
+ ServerRequestInterceptor.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Atomic_Op.i
+
+.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Exception_Data.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Invocation_Adapter.inl \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Impl.h \
+ $(TAO_ROOT)/tao/Any_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Marshal.h \
+ $(TAO_ROOT)/tao/Marshal.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.h \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.inl \
+ $(TAO_ROOT)/tao/Any_Dual_Impl_T.cpp \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp
+
+.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/os_include/os_limits.h \
+ $(ACE_ROOT)/ace/os_include/os_unistd.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_types.h \
+ $(ACE_ROOT)/ace/os_include/os_stddef.h \
+ $(ACE_ROOT)/ace/os_include/os_inttypes.h \
+ $(ACE_ROOT)/ace/os_include/os_stdint.h \
+ $(ACE_ROOT)/ace/os_include/os_stdio.h \
+ $(ACE_ROOT)/ace/os_include/os_stdarg.h \
+ $(ACE_ROOT)/ace/os_include/os_float.h \
+ $(ACE_ROOT)/ace/os_include/os_stdlib.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_wait.h \
+ $(ACE_ROOT)/ace/os_include/os_signal.h \
+ $(ACE_ROOT)/ace/os_include/os_time.h \
+ $(ACE_ROOT)/ace/os_include/os_ucontext.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_resource.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_time.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_select.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Global_Macros.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/Synch_Traits.h \
+ $(ACE_ROOT)/ace/Lock.h \
+ $(ACE_ROOT)/ace/Lock.inl \
+ $(ACE_ROOT)/ace/SStringfwd.h \
+ $(ACE_ROOT)/ace/iosfwd.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(ACE_ROOT)/ace/Exception_Macros.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Basic_Types.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Default_Constants.h \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/objectid.h \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/IOP_IORC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/default_environment.h \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Objref_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/CORBA_methods.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.h \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Pseudo_VarOut_T.cpp \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Array_VarOut_T.h \
+ $(TAO_ROOT)/tao/Array_VarOut_T.inl \
+ $(TAO_ROOT)/tao/Array_VarOut_T.cpp \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/os_include/os_errno.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.h \
+ $(TAO_ROOT)/tao/Seq_Var_T.inl \
+ $(TAO_ROOT)/tao/Seq_Var_T.cpp \
+ $(TAO_ROOT)/tao/Seq_Out_T.h \
+ $(TAO_ROOT)/tao/Seq_Out_T.inl \
+ $(TAO_ROOT)/tao/Seq_Out_T.cpp \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/os_include/os_string.h \
+ $(ACE_ROOT)/ace/os_include/os_strings.h \
+ $(ACE_ROOT)/ace/os_include/os_ctype.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/Time_Value.inl \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_mman.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/VarOut_T.h \
+ $(TAO_ROOT)/tao/VarOut_T.inl \
+ $(TAO_ROOT)/tao/VarOut_T.cpp \
+ $(TAO_ROOT)/tao/IOP_IORC.i \
+ $(TAO_ROOT)/tao/Policy_ForwardC.h \
+ $(TAO_ROOT)/tao/Policy_ForwardC.i \
+ $(TAO_ROOT)/tao/Object_Argument_T.h \
+ $(TAO_ROOT)/tao/Argument.h \
+ $(TAO_ROOT)/tao/Object_Argument_T.inl \
+ $(TAO_ROOT)/tao/Object_Argument_T.cpp \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.h \
+ $(TAO_ROOT)/tao/ParameterMode.h \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Arg_Traits_T.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/Dynamic_ParameterC.inl \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/OBV_Constants.h \
+ $(ACE_ROOT)/ace/Thread_Mutex.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/os_include/os_dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/os_include/os_dlfcn.h \
+ $(ACE_ROOT)/ace/os_include/os_netdb.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_in.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_socket.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_uio.h \
+ $(ACE_ROOT)/ace/os_include/net/os_if.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_sem.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_ipc.h \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/os_include/os_pthread.h \
+ $(ACE_ROOT)/ace/os_include/os_assert.h \
+ $(ACE_ROOT)/ace/os_include/os_fcntl.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_stat.h \
+ $(ACE_ROOT)/ace/os_include/arpa/os_inet.h \
+ $(ACE_ROOT)/ace/os_include/netinet/os_tcp.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_shm.h \
+ $(ACE_ROOT)/ace/os_include/os_pwd.h \
+ $(ACE_ROOT)/ace/os_include/os_stropts.h \
+ $(ACE_ROOT)/ace/os_include/os_termios.h \
+ $(ACE_ROOT)/ace/os_include/os_aio.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_un.h \
+ $(ACE_ROOT)/ace/os_include/os_poll.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_msg.h \
+ $(ACE_ROOT)/ace/os_include/sys/os_utsname.h \
+ $(ACE_ROOT)/ace/os_include/os_syslog.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Guard_T.h \
+ $(ACE_ROOT)/ace/Guard_T.inl \
+ $(ACE_ROOT)/ace/Guard_T.cpp \
+ $(TAO_ROOT)/tao/ORB.i TestC.i \
+ $(TAO_ROOT)/tao/Collocation_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Collocation_Strategy.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(ACE_ROOT)/ace/Atomic_Op.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.h \
+ $(ACE_ROOT)/ace/Atomic_Op_T.i \
+ $(ACE_ROOT)/ace/Atomic_Op_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ TestS_T.h TestS_T.i TestS_T.cpp TestS.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \
+ $(ACE_ROOT)/ace/Map_T.h \
+ $(ACE_ROOT)/ace/Pair_T.h \
+ $(ACE_ROOT)/ace/Pair_T.i \
+ $(ACE_ROOT)/ace/Pair_T.cpp \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Active_Map_Manager.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Null_Mutex.h \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Map_T.i \
+ $(ACE_ROOT)/ace/Map_T.cpp \
+ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \
+ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/DLL.h \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/String_Base.h \
+ $(ACE_ROOT)/ace/String_Base_Const.h \
+ $(ACE_ROOT)/ace/String_Base.i \
+ $(ACE_ROOT)/ace/String_Base.cpp \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/XML_Svc_Conf.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Reactor_Timer_Interface.h \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.h \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.inl \
+ $(ACE_ROOT)/ace/Reverse_Lock_T.cpp \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Condition_Thread_Mutex.inl \
+ $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \
+ $(TAO_ROOT)/tao/Policy_Validator.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \
+ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \
+ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(ACE_ROOT)/ace/TSS_T.h \
+ $(ACE_ROOT)/ace/TSS_T.inl \
+ $(ACE_ROOT)/ace/TSS_T.cpp \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Auto_Event.h \
+ $(ACE_ROOT)/ace/Event.h \
+ $(ACE_ROOT)/ace/Event.inl \
+ $(ACE_ROOT)/ace/Auto_Event.inl \
+ $(ACE_ROOT)/ace/Barrier.h \
+ $(ACE_ROOT)/ace/Barrier.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Condition_Recursive_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Manual_Event.h \
+ $(ACE_ROOT)/ace/Manual_Event.inl \
+ $(ACE_ROOT)/ace/Mutex.h \
+ $(ACE_ROOT)/ace/Mutex.inl \
+ $(ACE_ROOT)/ace/Null_Barrier.h \
+ $(ACE_ROOT)/ace/Null_Condition.h \
+ $(ACE_ROOT)/ace/Null_Semaphore.h \
+ $(ACE_ROOT)/ace/RW_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Mutex.inl \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.h \
+ $(ACE_ROOT)/ace/RW_Thread_Mutex.inl \
+ $(ACE_ROOT)/ace/Semaphore.h \
+ $(ACE_ROOT)/ace/Semaphore.inl \
+ $(ACE_ROOT)/ace/Thread_Semaphore.h \
+ $(ACE_ROOT)/ace/Thread_Semaphore.inl \
+ $(ACE_ROOT)/ace/TSS_Adapter.h \
+ $(ACE_ROOT)/ace/TSS_Adapter.inl \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.h \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.inl \
+ $(ACE_ROOT)/ace/Lock_Adapter_T.cpp \
+ $(ACE_ROOT)/ace/Condition_T.h \
+ $(ACE_ROOT)/ace/Condition_T.inl \
+ $(ACE_ROOT)/ace/Condition_T.cpp \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.h \
+ $(TAO_ROOT)/tao/IOP_CodecC.i \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/PI_ForwardC.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PI_ForwardC.i \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \
+ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/ORB_Constants.h \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/ORBInitializer_Registry.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Invocation_Utils.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/ObjectKey_Table.h \
+ $(ACE_ROOT)/ace/RB_Tree.h \
+ $(ACE_ROOT)/ace/RB_Tree.i \
+ $(ACE_ROOT)/ace/RB_Tree.cpp \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Exit.h \
+ $(ACE_ROOT)/ace/Thread_Control.h \
+ $(ACE_ROOT)/ace/Thread_Control.inl \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Framework_Component.h \
+ $(ACE_ROOT)/ace/Framework_Component.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.h \
+ $(ACE_ROOT)/ace/Framework_Component_T.inl \
+ $(ACE_ROOT)/ace/Framework_Component_T.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.h \
+ $(TAO_ROOT)/tao/GIOP_Message_Version.inl \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.h \
+ $(TAO_ROOT)/tao/Refcounted_ObjectKey.inl \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.h \
+ $(TAO_ROOT)/tao/ORB_Core_Auto_Ptr.inl \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/IFR_Client_Adapter.h \
+ $(TAO_ROOT)/tao/Object_T.h \
+ $(TAO_ROOT)/tao/Object_T.cpp \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/TC_Constants_Forward.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/Basic_Arguments.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.h \
+ $(TAO_ROOT)/tao/Basic_Argument_T.inl \
+ $(TAO_ROOT)/tao/Basic_Argument_T.cpp \
+ $(TAO_ROOT)/tao/UB_String_Arguments.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.h \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.inl \
+ $(TAO_ROOT)/tao/UB_String_Argument_T.cpp \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/RequestInfo_Util.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \
+ $(ACE_ROOT)/ace/Dynamic_Service.h \
+ $(ACE_ROOT)/ace/Dynamic_Service_Base.h \
+ $(ACE_ROOT)/ace/Dynamic_Service.i \
+ $(ACE_ROOT)/ace/Dynamic_Service.cpp
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.cpp b/TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.cpp
new file mode 100644
index 00000000000..8883013b75d
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.cpp
@@ -0,0 +1,81 @@
+#include "ORBInitializer.h"
+#include "ServerRequestInterceptor.h"
+
+#include "orbsvcs/LoadBalancing/LB_ServerRequestInterceptor.h"
+
+#include "orbsvcs/CosLoadBalancingC.h"
+#include "tao/ORB_Constants.h"
+
+
+ACE_RCSID (LoadBalancing,
+ ORBInitializer,
+ "$Id$")
+
+
+ORBInitializer::ORBInitializer (void)
+ : load_alert_ (),
+ interceptor_ (0)
+{
+}
+
+void
+ORBInitializer::pre_init (
+ PortableInterceptor::ORBInitInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+ORBInitializer::post_init (
+ PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+
+ ACE_NEW_THROW_EX (this->interceptor_,
+ ServerRequestInterceptor,
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK;
+
+ PortableInterceptor::ServerRequestInterceptor_var sr_interceptor =
+ this->interceptor_;
+
+ info->add_server_request_interceptor (sr_interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ PortableInterceptor::ServerRequestInterceptor_ptr reject_interceptor;
+ ACE_NEW_THROW_EX (reject_interceptor,
+ TAO_LB_ServerRequestInterceptor (this->load_alert_),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK;
+
+ PortableInterceptor::ServerRequestInterceptor_var safe_reject_interceptor =
+ reject_interceptor;
+
+ info->add_server_request_interceptor (safe_reject_interceptor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+
+TAO_LB_LoadAlert &
+ORBInitializer::load_alert (void)
+{
+ return this->load_alert_;
+}
+
+ServerRequestInterceptor *
+ORBInitializer::interceptor (void) const
+{
+ return this->interceptor_;
+}
diff --git a/TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.h b/TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.h
new file mode 100644
index 00000000000..4f5dfe3564d
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/ORBInitializer.h
@@ -0,0 +1,98 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ORBInitializer.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+
+#ifndef ORB_INITIALIZER_H
+#define ORB_INITIALIZER_H
+
+#include /**/ "ace/pre.h"
+
+#include "orbsvcs/LoadBalancing/LB_LoadAlert.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/LocalObject.h"
+#include "tao/PortableInterceptorC.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+// MSVC is being a little too paranoid.
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+
+class ServerRequestInterceptor;
+
+/**
+ * @class ORBInitializer
+ *
+ * @brief ORBInitializer
+ *
+ * ORBInitializer
+ */
+class ORBInitializer
+ : public virtual PortableInterceptor::ORBInitializer,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+
+ /// Constructor.
+ ORBInitializer (void);
+
+ /**
+ * @name PortableInterceptor::ORBInitializer Methods
+ *
+ * Methods required by the PortableInterceptor::ORBInitializer
+ * interface.
+ */
+ //@{
+ virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ //@}
+
+ /// Return a reference to the LoadAlert object.
+ TAO_LB_LoadAlert & load_alert (void);
+
+ ServerRequestInterceptor * interceptor (void) const;
+
+private:
+
+ /// The CosLoadBalancing::LoadAlert servant to be used at this
+ /// location.
+ /**
+ * This is the servant supplied by TAO's Load Balancer. It is
+ * used out of convencience.
+ */
+ TAO_LB_LoadAlert load_alert_;
+
+ ServerRequestInterceptor * interceptor_;
+
+};
+
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include /**/ "ace/post.h"
+
+#endif /* ORB_INITIALIZER_H */
diff --git a/TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.cpp b/TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.cpp
new file mode 100644
index 00000000000..3b3c49a505e
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.cpp
@@ -0,0 +1,87 @@
+#include "RPS_Monitor.h"
+#include "ServerRequestInterceptor.h"
+#include "ace/UUID.h"
+#include "tao/ORB_Constants.h"
+
+ACE_RCSID (LoadBalancing,
+ RPS_Monitor,
+ "$Id$")
+
+
+RPS_Monitor::RPS_Monitor (ServerRequestInterceptor * interceptor)
+ : location_ (1),
+ interceptor_ (interceptor),
+ last_time_ (ACE_OS::gettimeofday ()),
+ lock_ ()
+{
+ this->location_.length (1);
+
+ ACE_Utils::UUID_GENERATOR::instance ()->init ();
+
+ ACE_Utils::UUID uuid;
+ ACE_Utils::UUID_GENERATOR::instance ()->generateUUID (uuid);
+
+ this->location_[0].id = CORBA::string_dup (uuid.to_string ()->c_str ());
+ this->location_[0].kind = CORBA::string_dup ("UUID");
+}
+
+RPS_Monitor::~RPS_Monitor (void)
+{
+}
+
+CosLoadBalancing::Location *
+RPS_Monitor::the_location (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CosLoadBalancing::Location * location;
+ ACE_NEW_THROW_EX (location,
+ CosLoadBalancing::Location (this->location_),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (0);
+
+ return location;
+}
+
+CosLoadBalancing::LoadList *
+RPS_Monitor::loads (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ const ACE_Time_Value current_time = ACE_OS::gettimeofday ();
+
+ ACE_Time_Value elapsed_time;
+
+ {
+ ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, monitor, this->lock_, 0);
+
+ elapsed_time = current_time - this->last_time_;
+ this->last_time_ = current_time;
+ }
+
+ const CORBA::Float request_count = this->interceptor_->request_count ();
+
+ CosLoadBalancing::LoadList * tmp;
+ ACE_NEW_THROW_EX (tmp,
+ CosLoadBalancing::LoadList (1),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+ ACE_CHECK_RETURN (0);
+
+ CosLoadBalancing::LoadList_var load_list = tmp;
+
+ load_list->length (1);
+
+ load_list[0].id = CosLoadBalancing::RequestsPerSecond;
+ load_list[0].value = request_count / elapsed_time.msec () * 1000;
+
+ // Strictly for debugging or
+ ACE_DEBUG ((LM_DEBUG, "%f\n", load_list[0].value));
+
+ return load_list._retn ();
+}
diff --git a/TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.h b/TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.h
new file mode 100644
index 00000000000..062735c6789
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/RPS_Monitor.h
@@ -0,0 +1,94 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file RPS_Monitor.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_RPS_MONITOR_H
+#define TAO_RPS_MONITOR_H
+
+#include /**/ "ace/pre.h"
+
+#include "orbsvcs/CosLoadBalancingS.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+class ServerRequestInterceptor;
+
+/**
+ * @class RPS_Monitor
+ *
+ * @brief LoadMonitor implementation that calculates the number of
+ * request arriving per second.
+ */
+class RPS_Monitor
+ : public virtual POA_CosLoadBalancing::LoadMonitor,
+ public virtual PortableServer::RefCountServantBase
+{
+public:
+
+ /// Constructor
+ RPS_Monitor (ServerRequestInterceptor * interceptor);
+
+ /**
+ * @name CosLoadBalancing::LoadMonitor Methods
+ *
+ * Methods required by the CosLoadBalancing::LoadMonitor interface.
+ */
+ //@{
+
+ /// Return the location at which the LoadMonitor resides.
+ /**
+ * The returned "Location" is a sequence of length 1.
+ */
+ virtual CosLoadBalancing::Location * the_location (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Return the average CPU load at the location which this
+ /// LoadMonitor resides.
+ /**
+ * @return A "Load" sequence of length 1 that contains a LoadId
+ * equal to CosLoadBalancing::CPU, and the average CPU
+ * load.
+ */
+ virtual CosLoadBalancing::LoadList * loads (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ //@}
+
+protected:
+
+ /// Destructor
+ /**
+ * Protected destructor to enforce proper memory management through
+ * reference counting.
+ */
+ ~RPS_Monitor (void);
+
+private:
+
+ /// The name of the location at which this LoadMonitor resides.
+ CosLoadBalancing::Location location_;
+
+ ServerRequestInterceptor * interceptor_;
+
+ ACE_Time_Value last_time_;
+
+ ACE_SYNCH_MUTEX lock_;
+};
+
+#include /**/ "ace/post.h"
+
+#endif /* TAO_RPS_MONITOR_H */
diff --git a/TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.cpp b/TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.cpp
new file mode 100644
index 00000000000..8deb50cae85
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.cpp
@@ -0,0 +1,82 @@
+#include "ServerRequestInterceptor.h"
+
+ACE_RCSID (LoadBalancing,
+ ServerRequestInterceptor,
+ "$Id$")
+
+
+ServerRequestInterceptor::ServerRequestInterceptor (void)
+ : request_count_ (0)
+{
+}
+
+ServerRequestInterceptor::~ServerRequestInterceptor (void)
+{
+}
+
+char *
+ServerRequestInterceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::string_dup ("ServerRequestInterceptor");
+}
+
+void
+ServerRequestInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+ServerRequestInterceptor::receive_request_service_contexts (
+ PortableInterceptor::ServerRequestInfo_ptr /* ri */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+ ++this->request_count_;
+}
+
+void
+ServerRequestInterceptor::receive_request (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+}
+
+void
+ServerRequestInterceptor::send_reply (
+ PortableInterceptor::ServerRequestInfo_ptr /* ri */
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+}
+
+void
+ServerRequestInterceptor::send_exception (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+}
+
+void
+ServerRequestInterceptor::send_other (
+ PortableInterceptor::ServerRequestInfo_ptr
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest))
+{
+}
+
+CORBA::Long
+ServerRequestInterceptor::request_count (void)
+{
+ const CORBA::Long r = this->request_count_.value ();
+ this->request_count_ = 0;
+
+ return r;
+}
diff --git a/TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.h b/TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.h
new file mode 100644
index 00000000000..2c3002ddd0b
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/ServerRequestInterceptor.h
@@ -0,0 +1,122 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file ServerRequestInterceptor.h
+ *
+ * $Id$
+ *
+ * @author Ossama Othman <ossama@dre.vanderbilt.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_SERVER_REQUEST_INTERCEPTOR_H
+#define TAO_SERVER_REQUEST_INTERCEPTOR_H
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableInterceptorC.h"
+#include "tao/LocalObject.h"
+
+#include "ace/Atomic_Op.h"
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_LB_LoadAlert;
+
+/**
+ * @class ServerRequestInterceptor
+ *
+ * @brief ServerRequestInterceptor that calculates the number of
+ * requests arriving per second.
+ *
+ * This ServerRequestInterceptor is responsible for redirecting
+ * requests back to the LoadManager.
+ */
+class ServerRequestInterceptor
+ : public virtual PortableInterceptor::ServerRequestInterceptor,
+ public virtual TAO_Local_RefCounted_Object
+{
+public:
+
+ /// Constructor.
+ ServerRequestInterceptor (void);
+
+ /**
+ * @name Methods Required by the ServerRequestInterceptor
+ * Interface
+ *
+ * These are the canonical methods required for all
+ * ServerRequestInterceptors.
+ */
+ //@{
+ virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void receive_request_service_contexts (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void receive_request (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void send_reply (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void send_exception (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+
+ virtual void send_other (
+ PortableInterceptor::ServerRequestInfo_ptr ri
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableInterceptor::ForwardRequest));
+ //@}
+
+ CORBA::Long request_count (void);
+
+protected:
+
+ /// Destructor.
+ /**
+ * Protected destructor to enforce correct memory management via
+ * reference counting.
+ */
+ ~ServerRequestInterceptor (void);
+
+private:
+
+ /// The number of requests that have arrived on the server.
+ ACE_Atomic_Op<ACE_Thread_Mutex, long> request_count_;
+
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+
+#endif /* TAO_SERVER_REQUEST_INTERCEPTOR_H */
diff --git a/TAO/orbsvcs/examples/LoadBalancing/Stock.cpp b/TAO/orbsvcs/examples/LoadBalancing/Stock.cpp
new file mode 100644
index 00000000000..fd6a8f70e77
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/Stock.cpp
@@ -0,0 +1,32 @@
+//
+// $Id$
+//
+
+#include "Stock.h"
+
+Stock::Stock (const char *symbol,
+ const char *full_name,
+ CORBA::Double price)
+ : symbol_ (symbol),
+ full_name_ (full_name),
+ price_ (price)
+{
+}
+
+char *
+Stock::symbol () throw (CORBA::SystemException)
+{
+ return CORBA::string_dup (this->symbol_.c_str ());
+}
+
+char *
+Stock::full_name () throw (CORBA::SystemException)
+{
+ return CORBA::string_dup (this->full_name_.c_str ());
+}
+
+CORBA::Double
+Stock::price () throw (CORBA::SystemException)
+{
+ return this->price_;
+}
diff --git a/TAO/orbsvcs/examples/LoadBalancing/Stock.h b/TAO/orbsvcs/examples/LoadBalancing/Stock.h
new file mode 100644
index 00000000000..3a902ed5261
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/Stock.h
@@ -0,0 +1,34 @@
+//
+// $Id$
+//
+
+#ifndef STOCK_H
+#define STOCK_H
+
+#include "TestS.h"
+#include <string>
+
+class Stock
+ : public POA_Test::Stock
+{
+public:
+ Stock (const char *symbol,
+ const char *full_name,
+ CORBA::Double price);
+
+ char *symbol () throw (CORBA::SystemException);
+ char *full_name () throw (CORBA::SystemException);
+ CORBA::Double price () throw (CORBA::SystemException);
+
+private:
+#if defined (HPUX) && (ACE_HAS_STANDARD_CPP_LIBRARY == 0)
+ string symbol_;
+ string full_name_;
+#else
+ std::string symbol_;
+ std::string full_name_;
+#endif /* HPUX */
+ CORBA::Double price_;
+};
+
+#endif /* STOCK_H */
diff --git a/TAO/orbsvcs/examples/LoadBalancing/StockFactory.cpp b/TAO/orbsvcs/examples/LoadBalancing/StockFactory.cpp
new file mode 100644
index 00000000000..e158982ecca
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/StockFactory.cpp
@@ -0,0 +1,33 @@
+//
+// $Id$
+//
+
+#include "StockFactory.h"
+
+StockFactory::StockFactory (CORBA::ORB_ptr orb, int number)
+ : orb_ (CORBA::ORB::_duplicate (orb)),
+ rhat_ ("RHAT", "RedHat, Inc.", 210),
+ msft_ ("MSFT", "Microsoft, Inc.", 91),
+ number_ (number)
+{
+}
+
+Test::Stock_ptr
+StockFactory::get_stock (const char *symbol)
+ throw (Test::Invalid_Stock_Symbol)
+{
+ cout << "Server Number is " << number_ << endl;
+ if (strcmp (symbol, "RHAT") == 0) {
+ return this->rhat_._this ();
+ } else if (strcmp (symbol, "MSFT") == 0) {
+ return this->msft_._this ();
+ }
+ throw Test::Invalid_Stock_Symbol ();
+}
+
+void
+StockFactory::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/examples/LoadBalancing/StockFactory.h b/TAO/orbsvcs/examples/LoadBalancing/StockFactory.h
new file mode 100644
index 00000000000..6fe8e11fed8
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/StockFactory.h
@@ -0,0 +1,32 @@
+//
+// $Id$
+//
+
+#ifndef STOCKFACTORY_H
+#define STOCKFACTORY_H
+
+#include "TestS.h"
+#include "Stock.h"
+
+class StockFactory
+ : public POA_Test::StockFactory,
+ public virtual PortableServer::RefCountServantBase
+
+{
+public:
+ StockFactory (CORBA::ORB_ptr orb, int number);
+
+ Test::Stock_ptr get_stock (const char *symbol)
+ throw (Test::Invalid_Stock_Symbol);
+
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::ORB_var orb_;
+ Stock rhat_;
+ Stock msft_;
+ int number_;
+};
+
+#endif /* STOCKFACTORY_H */
diff --git a/TAO/orbsvcs/examples/LoadBalancing/Test.idl b/TAO/orbsvcs/examples/LoadBalancing/Test.idl
new file mode 100644
index 00000000000..c9f270a36a3
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/Test.idl
@@ -0,0 +1,47 @@
+//
+// $Id$
+//
+
+module Test
+{
+ exception Invalid_Stock_Symbol {};
+ // Used to report an invalid stock name
+
+ // Forward declare the Stock interface
+ interface Stock;
+
+ interface StockFactory
+ {
+ // = TITLE
+ // A factory class for the stock interfaces
+ //
+ // = DESCRIPTION
+ // Return the Stock interfaces based on their names
+ //
+ Stock get_stock (in string stock_symbol)
+ raises (Invalid_Stock_Symbol);
+
+ oneway void shutdown ();
+
+ };
+
+ interface Stock
+ {
+ // = TITLE
+ // A simple interface to query the name and price of stock
+ //
+ // = DESCRIPTION
+ // Return the price and name of a single stock
+ //
+
+ readonly attribute string symbol;
+ // Get the stock symbol.
+
+ readonly attribute string full_name;
+ // Get the name.
+
+ double price ();
+ // Get the price
+
+ };
+};
diff --git a/TAO/orbsvcs/examples/LoadBalancing/client.cpp b/TAO/orbsvcs/examples/LoadBalancing/client.cpp
new file mode 100644
index 00000000000..70b2fc89e32
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/client.cpp
@@ -0,0 +1,110 @@
+#include "TestC.h"
+#include "ace/Get_Opt.h"
+#include "ace/streams.h"
+
+
+ACE_RCSID (LoadBalancing,
+ client,
+ "$Id$");
+
+
+const char *ior = "file://obj.ior";
+
+int niterations = 100;
+int number;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "k:n:i:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'k':
+ ior = get_opts.opt_arg ();
+ break;
+
+ case 'n':
+ number = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
+
+ case 'i':
+ niterations = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-k <ior> "
+ "-i <niterations> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ CORBA::Object_var tmp =
+ orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Test::StockFactory_var stockfactory =
+ Test::StockFactory::_narrow (tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (stockfactory.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Nil Test::StockFactory reference <%s>\n",
+ ior),
+ 1);
+ }
+
+ cout << "Starting Client " << number << endl;
+
+ for (int i = 0; i < niterations; ++i)
+ {
+ Test::Stock_var stock =
+ stockfactory->get_stock ("RHAT");
+
+ CORBA::String_var full_name = stock->full_name ();
+
+ CORBA::Double price = stock->price ();
+
+ cout << "The price of a stock in \""
+ << full_name.in () << "\" is $"
+ << price << endl;
+ }
+
+ //stockfactory->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ //ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Exception caught in client.cpp:");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/orbsvcs/examples/LoadBalancing/run_test.pl b/TAO/orbsvcs/examples/LoadBalancing/run_test.pl
new file mode 100755
index 00000000000..06107b7b97d
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/run_test.pl
@@ -0,0 +1,105 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "../../../../bin";
+use PerlACE::Run_Test;
+
+$iorfile = PerlACE::LocalFile ("obj.ior");
+unlink $iorfile;
+
+$lm_ior = "lm.ior";
+unlink $lm_ior;
+$ns_ior = "ns.ior";
+unlink $ns_ior;
+
+$status = 0;
+
+$init_ref = "-ORBInitRef LoadManager=file://lm.ior -n 1 -ORBInitRef NameService=file://ns.ior -s LeastLoaded -r 9000 -c 10300 -d 0.1 ";
+$init_ref_backup = "-ORBInitRef LoadManager=file://lm.ior -n 2 -ORBInitRef NameService=file://ns.ior -s LeastLoaded -r 9000 -c 10300 -d 0.1 ";
+
+$init_client_ref = "-k file://$iorfile -i 5 -n 1 -ORBInitRef NameService=file://ns.ior ";
+$init_client_ref_backup = "-k file://$iorfile -i 5 -n 2 -ORBInitRef NameService=file://ns.ior ";
+
+$LM = new PerlACE::Process ("../../LoadBalancer/LoadManager", "-o lm.ior");
+$NS = new PerlACE::Process ("../../Naming_Service/Naming_Service", "-o ns.ior");
+$SV = new PerlACE::Process ("server", $init_ref);
+$SR = new PerlACE::Process ("server", $init_ref_backup);
+$CL = new PerlACE::Process ("client", $init_client_ref);
+$CR = new PerlACE::Process ("client", $init_client_ref_backup);
+
+$LM->Spawn ();
+
+if (PerlACE::waitforfile_timed ("lm.ior", 5) == -1) {
+ print STDERR "ERROR: cannot find file LoadManager IOR: lm.ior\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$NS->Spawn ();
+
+if (PerlACE::waitforfile_timed ("ns.ior", 5) == -1) {
+ print STDERR "ERROR: cannot find file NameService IOR: ns.ior\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$SV->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile, 10) == -1) {
+ print STDERR "ERROR: cannot find server file <$iorfile>\n";
+ $SV->Kill (); $SV->TimedWait (1);
+ exit 1;
+}
+
+$SR->Spawn ();
+
+if (PerlACE::waitforfile_timed ($iorfile, 10) == -1) {
+ print STDERR "ERROR: cannot find server file <$iorfile>\n";
+ $SR->Kill (); $SR->TimedWait (1);
+ exit 1;
+}
+
+$client = $CL->SpawnWaitKill (100);
+
+if ($client != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$clientbackup = $CR->SpawnWaitKill (100);
+
+if ($clientbackup != 0) {
+ print STDERR "ERROR: client returned $client\n";
+ $status = 1;
+}
+
+$server = $SV->WaitKill (10);
+
+if ($server != 0) {
+ print STDERR "ERROR: server returned $server\n";
+ $status = 1;
+}
+
+$load_manager = $LM->TerminateWaitKill (10);
+
+if ($load_manager != 0) {
+ print STDERR "ERROR: LoadManager returned $load_manager\n";
+ $status = 1;
+}
+
+$name_service = $NS->TerminateWaitKill (10);
+
+if ($name_service != 0) {
+ print STDERR "ERROR: NameService returned $name_service\n";
+ $status = 1;
+}
+
+unlink $iorfile;
+unlink $lm_ior;
+unlink $ns_ior;
+
+exit $status;
diff --git a/TAO/orbsvcs/examples/LoadBalancing/server.cpp b/TAO/orbsvcs/examples/LoadBalancing/server.cpp
new file mode 100644
index 00000000000..c5db3393823
--- /dev/null
+++ b/TAO/orbsvcs/examples/LoadBalancing/server.cpp
@@ -0,0 +1,369 @@
+#include "tao/ORBInitializer_Registry.h"
+#include "StockFactory.h"
+#include "ORBInitializer.h"
+#include "RPS_Monitor.h"
+
+#include "ace/Get_Opt.h"
+
+ACE_RCSID (LoadBalancing,
+ server,
+ "$Id$");
+
+const char *ior_output_file = "obj.ior";
+
+CORBA::Float reject_threshold = 0;
+CORBA::Float critical_threshold = 0;
+CORBA::Float dampening = 0;
+const char * strategy = "LeastLoaded";
+int number;
+
+int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:n:s:r:c:d:");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o':
+ ior_output_file = get_opts.opt_arg ();
+ break;
+
+ case 's':
+ strategy = get_opts.opt_arg ();
+ break;
+
+ case 'n':
+ number = ACE_OS::atoi (get_opts.opt_arg ());
+ break;
+
+ case 'r':
+ reject_threshold =
+ ACE_static_cast (CORBA::Float, ::atof (get_opts.opt_arg ()));
+ break;
+
+ case 'c':
+ critical_threshold =
+ ACE_static_cast (CORBA::Float, ::atof (get_opts.opt_arg ()));
+ break;
+
+ case 'd':
+ dampening =
+ ACE_static_cast (CORBA::Float, ::atof (get_opts.opt_arg ()));
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s\n"
+ " -o <iorfile>\n"
+ " -s <RoundRobin | Random | LeastLoaded>\n"
+ " -r <reject threshold> (LeastLoaded only)\n"
+ " -c <critical threshold> (LeastLoaded only)\n"
+ " -d <damping value> (LeastLoaded only)\n"
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command line
+ return 0;
+}
+
+CORBA::Object_ptr
+join_object_group (CORBA::ORB_ptr orb,
+ CosLoadBalancing::LoadManager_ptr lm,
+ const PortableGroup::Location & location
+ ACE_ENV_ARG_PARAMETER)
+{
+ CORBA::Object_var ns_object =
+ orb->resolve_initial_references ("NameService"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ CosNaming::NamingContext_var nc =
+ CosNaming::NamingContext::_narrow (ns_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ CosNaming::Name name (1);
+ name.length (1);
+
+ name[0].id = "StockFactoryObjectGroup";
+ name[0].kind = "Object Group";
+
+ CORBA::Object_var group;
+
+ ACE_TRY
+ {
+ group = nc->resolve (name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (CosNaming::NamingContext::NotFound, ex)
+ {
+ // Object group not created. Create one.
+ const char repository_id[] = "IDL:Test/StockFactory:1.0";
+
+ PortableGroup::Criteria criteria (1);
+ criteria.length (1);
+
+ PortableGroup::Property & property = criteria[0];
+ property.nam.length (1);
+
+ property.nam[0].id =
+ CORBA::string_dup ("omg.org.PortableGroup.MembershipStyle");
+
+ PortableGroup::MembershipStyleValue msv =
+ PortableGroup::MEMB_APP_CTRL;
+ property.val <<= msv;
+
+ PortableGroup::GenericFactory::FactoryCreationId_var fcid;
+
+ group = lm->create_object (repository_id,
+ criteria,
+ fcid.out ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_TRY_EX (foo)
+ {
+ nc->bind (name,
+ group.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (foo);
+
+ PortableGroup::Properties props (1);
+ props.length (1);
+ props[0].nam.length (1);
+ props[0].nam[0].id =
+ CORBA::string_dup ("org.omg.CosLoadBalancing.StrategyInfo");
+
+ CosLoadBalancing::StrategyInfo strategy_info;
+
+ strategy_info.name = CORBA::string_dup (strategy);
+
+ if (ACE_OS::strcasecmp (strategy, "LeastLoaded") == 0
+ && (reject_threshold != 0
+ || critical_threshold != 0
+ || dampening != 0))
+ {
+ CORBA::ULong len = 1;
+
+ PortableGroup::Properties & props =
+ strategy_info.props;
+
+ if (reject_threshold != 0)
+ {
+ const CORBA::ULong i = len - 1;
+
+ props.length (len++);
+
+ props[i].nam.length (1);
+ props[i].nam[0].id =
+ CORBA::string_dup ("org.omg.CosLoadBalancing.Strategy.LeastLoaded.RejectThreshold");
+ props[i].val <<= reject_threshold;
+ }
+
+ if (critical_threshold != 0)
+ {
+ const CORBA::ULong i = len - 1;
+
+ props.length (len++);
+
+ props[i].nam.length (1);
+ props[i].nam[0].id =
+ CORBA::string_dup ("org.omg.CosLoadBalancing.Strategy.LeastLoaded.CriticalThreshold");
+ props[i].val <<= critical_threshold;
+ }
+
+ if (dampening != 0)
+ {
+ const CORBA::ULong i = len - 1;
+
+ props.length (len++);
+
+ props[i].nam.length (1);
+ props[i].nam[0].id =
+ CORBA::string_dup ("org.omg.CosLoadBalancing.Strategy.LeastLoaded.Dampening");
+ props[i].val <<= dampening;
+ }
+
+ }
+
+ props[0].val <<= strategy_info;
+
+ lm->set_default_properties (props
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCH (CosNaming::NamingContext::AlreadyBound, ex)
+ {
+ // Somebody beat us to creating the object group. Clean up
+ // the one we created.
+ lm->delete_object (fcid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (foo);
+
+ group = nc->resolve (name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (foo);
+ }
+ ACE_ENDTRY;
+ ACE_TRY_CHECK;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ StockFactory * stockfactory_impl;
+ ACE_NEW_THROW_EX (stockfactory_impl,
+ StockFactory (orb, number),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ PortableServer::ServantBase_var owner_transfer (stockfactory_impl);
+
+ Test::StockFactory_var stockfactory =
+ stockfactory_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ group = lm->add_member (group.in (),
+ location,
+ stockfactory.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::Object::_nil ());
+
+ return group._retn ();
+}
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ ORBInitializer *initializer = 0;
+ ACE_NEW_RETURN (initializer,
+ ORBInitializer,
+ -1); // No exceptions yet!
+ PortableInterceptor::ORBInitializer_var orb_initializer =
+ initializer;
+
+ PortableInterceptor::register_orb_initializer (orb_initializer.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references ("RootPOA"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (poa_object.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to initialize the POA.\n"),
+ 1);
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var poa_manager =
+ root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var lm_object =
+ orb->resolve_initial_references ("LoadManager"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CosLoadBalancing::LoadManager_var load_manager =
+ CosLoadBalancing::LoadManager::_narrow (lm_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ RPS_Monitor * monitor_servant;
+ ACE_NEW_THROW_EX (monitor_servant,
+ RPS_Monitor (initializer->interceptor ()),
+ CORBA::NO_MEMORY ());
+ ACE_TRY_CHECK;
+
+ PortableServer::ServantBase_var safe_monitor_servant (monitor_servant);
+
+ CosLoadBalancing::LoadMonitor_var load_monitor =
+ monitor_servant->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ PortableGroup::Location_var location =
+ load_monitor->the_location (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var stockfactory =
+ ::join_object_group (orb.in (),
+ load_manager.in (),
+ location.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ TAO_LB_LoadAlert & alert_servant = initializer->load_alert ();
+
+ CosLoadBalancing::LoadAlert_var load_alert =
+ alert_servant._this (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+
+ CORBA::String_var ior =
+ orb->object_to_string (stockfactory.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // If the ior_output_file exists, output the ior to it
+ 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", ior.in ());
+ ACE_OS::fclose (output_file);
+
+ load_manager->register_load_monitor (location.in (),
+ load_monitor.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ load_manager->register_load_alert (location.in (),
+ load_alert.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "lb_server exception");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}