summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-10-23 22:40:16 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-10-23 22:40:16 +0000
commit9a59e38a3089d929ddbe62025c6b195e64af8a8c (patch)
treee2a2d94add39159b903b1222adad0a69aa0ba1e2
parent7a154937f1d382dffcf6c08f2e5db7b377db1d41 (diff)
downloadATCD-9a59e38a3089d929ddbe62025c6b195e64af8a8c.tar.gz
This commit was manufactured by cvs2svn to create branch 'Validator'.
-rw-r--r--ChangeLog4
-rw-r--r--ChangeLogs/ChangeLog-03a4
-rw-r--r--TAO/ChangeLog7
-rw-r--r--TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosLoadBalancing_Static.dsp488
-rw-r--r--TAO/orbsvcs/orbsvcs/DsLogAdmin.dsp536
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp141
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h67
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp185
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp257
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h147
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp1147
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp113
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h85
-rw-r--r--TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h95
-rw-r--r--TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h284
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp111
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h119
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i45
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp233
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h92
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Channel_Objects_Factory.h113
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.cpp192
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.h96
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Collection_Factory.h49
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Command.cpp9
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Command.h72
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Command.i56
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp49
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h63
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp1564
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h149
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp814
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h440
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event.cpp493
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event.h288
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event.i63
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.cpp39
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.h54
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp194
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h182
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i85
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager_Objects_Factory.h78
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.cpp236
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h153
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.i29
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp103
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h101
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.cpp114
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.h81
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp155
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h99
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp65
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.h71
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp507
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.h211
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.cpp81
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.h98
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.i1
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp44
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.h55
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Listeners.h139
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.cpp66
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.h58
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp219
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h110
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_POA_Factory.h81
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp215
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h126
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.cpp200
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.h145
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp229
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.h140
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp499
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h189
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp195
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h211
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp244
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h137
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl16
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp135
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.h93
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp276
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h110
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.cpp43
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.h57
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp273
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h75
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.cpp133
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.h99
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp166
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h98
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp452
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.h307
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.cpp32
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.h58
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.cpp49
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.h66
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp280
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp691
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h150
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp677
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp425
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h93
-rw-r--r--THANKS1
-rw-r--r--protocols/ace/RMCast/README57
-rw-r--r--protocols/ace/RMCast/RMCast_Export.h44
-rw-r--r--tests/run_tests.lst90
108 files changed, 0 insertions, 19763 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a39dab11ef..63a8902a892 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,3 @@
-Wed Oct 23 16:37:15 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-
- * THANKS: Added Sandeep to the Hall of Fame.
-
Wed Oct 23 17:20:18 UTC 2002 Don Hinton <dhinton@ieee.org>
* ace/Service_Object.{h,cpp} (suspend, resume, fini):
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 0a39dab11ef..63a8902a892 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,7 +1,3 @@
-Wed Oct 23 16:37:15 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-
- * THANKS: Added Sandeep to the Hall of Fame.
-
Wed Oct 23 17:20:18 UTC 2002 Don Hinton <dhinton@ieee.org>
* ace/Service_Object.{h,cpp} (suspend, resume, fini):
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 9186327b59f..ac2f05b34e7 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,10 +1,3 @@
-Wed Oct 23 16:32:36 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-
- * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile: Added a check to
- ensure that the contents are not compiled if the dependant
- libraries are not available. Thanks to Sandeep Neema
- <neemask@corvette.vuse.vanderbilt.edu> for reporting this.
-
Wed Oct 23 13:38:59 2002 Nanbor Wang <nanbor@cs.wustl.edu>
* orbsvcs/orbsvcs/DsEventLogAdmin.dsp:
diff --git a/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile
index 6218339dac6..13a9a2e6544 100644
--- a/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile
+++ b/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile
@@ -36,14 +36,6 @@ LSRC = $(addsuffix .cpp,$(FILES)) $(IDL_SRC)
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(TAO_ROOT)/rules.tao.GNU
-#### If the orbsvcs library wasn't built with all components, don't
-#### try to build certain tests.
-TAO_ORBSVCS := $(shell sh $(ACE_ROOT)/bin/ace_components --orbsvcs)
-ifeq (RTEvent,$(findstring RTEvent,$(TAO_ORBSVCS)))
-ifeq (CosEvent,$(findstring CosEvent,$(TAO_ORBSVCS)))
- BIN = $(BIN2)
-endif # RTEvent
-endif # CosEvent
include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
diff --git a/TAO/orbsvcs/orbsvcs/CosLoadBalancing_Static.dsp b/TAO/orbsvcs/orbsvcs/CosLoadBalancing_Static.dsp
deleted file mode 100644
index e70e958d92a..00000000000
--- a/TAO/orbsvcs/orbsvcs/CosLoadBalancing_Static.dsp
+++ /dev/null
@@ -1,488 +0,0 @@
-# Microsoft Developer Studio Project File - Name="CosLoadBalancing_Static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=CosLoadBalancing_Static - Win32 Static Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "CosLoadBalancing_Static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "CosLoadBalancing_Static.mak" CFG="CosLoadBalancing_Static - Win32 Static Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "CosLoadBalancing_Static - Win32 Static Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "CosLoadBalancing_Static - Win32 Static Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "CosLoadBalancing_Static - Win32 Static Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "LIB\Release\CosLoadBalancing"
-# PROP Target_Dir ""
-MTL=midl.exe
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "_MBCS" /D "_LIB" /D "TAO_AS_STATIC_LIBS" /D "NDEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"TAO_CosLoadBalancings.lib"
-
-!ELSEIF "$(CFG)" == "CosLoadBalancing_Static - Win32 Static Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "LIB\Debug\CosLoadBalancing"
-# PROP Target_Dir ""
-MTL=midl.exe
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_MBCS" /D "_LIB" /D "TAO_AS_STATIC_LIBS" /D "_DEBUG" /D "ACE_AS_STATIC_LIBS" /D "WIN32" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"TAO_CosLoadBalancingsd.lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "CosLoadBalancing_Static - Win32 Static Release"
-# Name "CosLoadBalancing_Static - Win32 Static Debug"
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\CosLoadBalancing.idl
-
-!IF "$(CFG)" == "CosLoadBalancing_Static - Win32 Static Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking TAO_IDL on $(InputPath)
-InputPath=.\CosLoadBalancing.idl
-InputName=CosLoadBalancing
-
-BuildCmds= \
- ..\..\..\bin\Release\tao_idl_static -Ge 1 -GC -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -Wb,export_macro=TAO_LoadBalancing_Export -Wb,export_include=LoadBalancing\LoadBalancing_export.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "CosLoadBalancing_Static - Win32 Static Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__COSLO="..\..\..\bin\tao_idl_static.exe"
-# Begin Custom Build - Invoking TAO_IDL on $(InputPath)
-InputPath=.\CosLoadBalancing.idl
-InputName=CosLoadBalancing
-
-BuildCmds= \
- ..\..\..\bin\tao_idl_static -Ge 1 -GC -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -Wb,export_macro=TAO_LoadBalancing_Export -Wb,export_include=LoadBalancing\LoadBalancing_export.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\LB_ORT.idl
-
-!IF "$(CFG)" == "CosLoadBalancing_Static - Win32 Static Release"
-
-# Begin Custom Build
-InputPath=.\LB_ORT.idl
-InputName=LB_ORT
-
-BuildCmds= \
- ..\..\..\bin\Release\tao_idl_static -Ge 1 -Gv -DCORBA3 -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "CosLoadBalancing_Static - Win32 Static Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build
-InputPath=.\LB_ORT.idl
-InputName=LB_ORT
-
-BuildCmds= \
- ..\..\..\bin\tao_idl_static -Ge 1 -Gv -DCORBA3 -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\CosLoadBalancingC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosLoadBalancingS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LeastLoaded.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadManager.inl
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h"
-# Begin Source File
-
-SOURCE=.\CosLoadBalancingC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosLoadBalancingS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ClientRequestInterceptor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Component.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_conf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_CPU_Monitor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_IORInterceptor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LeastLoaded.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert_Factory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert_ReplyHandler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlertInfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlertMap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadListMap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadManager.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadMap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Location_Index_Map.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_MemberLocator.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_MonitorMap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ObjectReferenceFactory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ORBInitializer.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Pull_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Random.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_RoundRobin.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ServerRequestInterceptor.h
-# End Source File
-# End Group
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp"
-# Begin Source File
-
-SOURCE=.\CosLoadBalancingC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosLoadBalancingS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ClientRequestInterceptor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Component.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_CPU_Monitor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_IORInterceptor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LeastLoaded.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlert_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlertInfo.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadAlertMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadListMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadManager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_LoadMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Location_Index_Map.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_MemberLocator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_MonitorMap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ObjectReferenceFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ORBInitializer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Pull_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_Random.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_RoundRobin.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\LoadBalancing\LB_ServerRequestInterceptor.cpp
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/orbsvcs/orbsvcs/DsLogAdmin.dsp b/TAO/orbsvcs/orbsvcs/DsLogAdmin.dsp
deleted file mode 100644
index 56a4a2acf17..00000000000
--- a/TAO/orbsvcs/orbsvcs/DsLogAdmin.dsp
+++ /dev/null
@@ -1,536 +0,0 @@
-# Microsoft Developer Studio Project File - Name="DsLogAdmin" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=DsLogAdmin - Win32 MFC Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "DsLogAdmin.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "DsLogAdmin.mak" CFG="DsLogAdmin - Win32 MFC Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "DsLogAdmin - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DsLogAdmin - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DsLogAdmin - Win32 MFC Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "DsLogAdmin - Win32 MFC Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "DsLogAdmin - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Release\DsLogAdmin"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DsLogAdmin_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_LOG_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 TAO_ETCL.lib TAO_Svc_Utils.lib ace.lib TAO.lib TAO_PortableServer.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_DsLogAdmin.dll" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Debug\DsLogAdmin"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DsLogAdmin_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_DEBUG" /D "_MBCS" /D "_USRDLL" /D "TAO_ORBSVCS_HAS_NAMING" /D "WIN32" /D "_WINDOWS" /D "TAO_LOG_BUILD_DLL" /FR /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 TAO_ETCLd.lib TAO_DynamicAnyd.lib TAO_Svc_Utilsd.lib TAO_PortableServerd.lib TAOd.lib aced.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_DsLogAdmind.dll" /pdbtype:sept /libpath:"..\..\tao\DynamicAny" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace" /libpath:".\ETCL"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "DsLogAdmin___Win32_MFC_Debug"
-# PROP BASE Intermediate_Dir "DsLogAdmin___Win32_MFC_Debug"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Debug\DsLogAdminMFC"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_DEBUG" /D "_MBCS" /D "_USRDLL" /D "TAO_ORBSVCS_HAS_NAMING" /D "WIN32" /D "_WINDOWS" /D "TAO_LOG_BUILD_DLL" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /I "../../" /I "../../../" /D "_DEBUG" /D "_MBCS" /D "_USRDLL" /D "TAO_ORBSVCS_HAS_NAMING" /D "WIN32" /D "_WINDOWS" /D "TAO_LOG_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 TAOd.lib aced.lib TAO_CosTradingd.lib TAO_Svc_Utilsd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_DsLogAdmind.dll" /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-# SUBTRACT BASE LINK32 /profile
-# ADD LINK32 TAOmfcd.lib acemfcd.lib TAO_CosTradingmfcd.lib TAO_Svc_Utilsmfcd.lib TAO_PortableServermfcd.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TAO_DsLogAdminmfcd.dll" /pdbtype:sept /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-# SUBTRACT LINK32 /profile
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "DsLogAdmin___Win32_MFC_Release"
-# PROP BASE Intermediate_Dir "DsLogAdmin___Win32_MFC_Release"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Release\DsLogAdminMFC"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_LOG_BUILD_DLL" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /I "../../" /I "../../../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "TAO_LOG_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 ace.lib TAO.lib TAO_CosTrading.lib TAO_Svc_Utils.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_DsLogAdmin.dll" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-# ADD LINK32 acemfc.lib TAOmfc.lib TAO_CosTradingmfc.lib TAO_Svc_Utilsmfc.lib TAO_PortableServermfc.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TAO_DsLogAdminmfc.dll" /libpath:"..\..\tao\PortableServer" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "DsLogAdmin - Win32 Release"
-# Name "DsLogAdmin - Win32 Debug"
-# Name "DsLogAdmin - Win32 MFC Debug"
-# Name "DsLogAdmin - Win32 MFC Release"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Log\BasicLog_i.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\BasicLogFactory_i.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Iterator_i.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Log_Constraint_Interpreter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Log_Constraint_Visitors.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Log_i.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\LogMgr_i.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\LogNotification.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\LogRecordStore.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Log\BasicLog_i.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\BasicLogFactory_i.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminS_T.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationS_T.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Iterator_i.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Log_Constraint_Interpreter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Log_Constraint_Visitors.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\log_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\Log_i.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\LogMgr_i.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\LogNotification.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Log\LogRecordStore.h
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter ".idl"
-# Begin Source File
-
-SOURCE=.\DsLogAdmin.idl
-
-!IF "$(CFG)" == "DsLogAdmin - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__DSLOG="..\..\..\bin\Release\tao_idl.exe"
-# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputName)
-InputPath=.\DsLogAdmin.idl
-InputName=DsLogAdmin
-
-BuildCmds= \
- ..\..\..\bin\Release\tao_idl -Ge 1 -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -Wb,export_macro=TAO_Log_Export -Wb,export_include=Log\log_export.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__DSLOG="..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputName)
-InputPath=.\DsLogAdmin.idl
-InputName=DsLogAdmin
-
-BuildCmds= \
- ..\..\..\bin\tao_idl -Ge 1 -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -Wb,export_macro=TAO_Log_Export -Wb,export_include=Log\log_export.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Debug"
-
-# PROP BASE Ignore_Default_Tool 1
-# PROP Ignore_Default_Tool 1
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Release"
-
-# PROP BASE Ignore_Default_Tool 1
-# PROP Ignore_Default_Tool 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotification.idl
-
-!IF "$(CFG)" == "DsLogAdmin - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputName)
-InputPath=.\DsLogNotification.idl
-InputName=DsLogNotification
-
-BuildCmds= \
- ..\..\..\bin\Release\tao_idl -Ge 1 -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -Wb,export_macro=TAO_Log_Export -Wb,export_include=Log\log_export.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking TAO_IDL Compiler on $(InputName)
-InputPath=.\DsLogNotification.idl
-InputName=DsLogNotification
-
-BuildCmds= \
- ..\..\..\bin\tao_idl -Ge 1 -I../.. -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -Wb,export_macro=TAO_Log_Export -Wb,export_include=Log\log_export.h $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Debug"
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Release"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter ".i"
-# Begin Source File
-
-SOURCE=.\DsLogAdminC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogAdminS_T.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationS_T.i
-# End Source File
-# End Group
-# Begin Group "Template Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\DsLogAdminS_T.cpp
-
-!IF "$(CFG)" == "DsLogAdmin - Win32 Release"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Debug"
-
-# PROP BASE Exclude_From_Build 1
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "DsLogAdmin - Win32 MFC Release"
-
-# PROP BASE Exclude_From_Build 1
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\DsLogNotificationS_T.cpp
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "rc"
-# Begin Source File
-
-SOURCE=.\DsLogAdmin.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp
deleted file mode 100644
index 0e3bc923079..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-#include "LB_Component.h"
-#include "LB_ORBInitializer.h"
-
-
-ACE_RCSID (LoadBalancing,
- LB_Component,
- "$Id$")
-
-
-int
-TAO_LB_Component::init (int argc, ACE_TCHAR * argv[])
-{
- // There must be at least six arguments.
- if (argc < 6)
- return -1;
-
- // Try to optimize sequence growth by growing it once.
- const CORBA::ULong initial_len = argc / 6; // -LBGroup group
- // -LBTypeId type_id
- // -LBLocation location
-
- CORBA::StringSeq object_groups (initial_len);
- object_groups.length (initial_len);
-
- CORBA::StringSeq repository_ids (initial_len);
- repository_ids.length (initial_len);
-
- CORBA::String_var location;
-
- CORBA::ULong len = 0;
-
- for (int i = 0; i < argc; ++i)
- {
- if (ACE_OS::strcasecmp (argv[i], "-LBGroup") == 0)
- {
- const CORBA::ULong j = len;
- ++len;
-
- ++i; // 1
-
- object_groups.length (len);
- object_groups[j] = CORBA::string_dup (argv[i]);
-
- ++i; // 2
-
- if (ACE_OS::strcasecmp (argv[i], "-LBTypeId") != 0)
- return -1;
-
- ++i; // 3
-
- repository_ids.length (len);
- repository_ids[j] = CORBA::string_dup (argv[i]);
- }
- else if (ACE_OS::strcasecmp (argv[i], "-LBTypeId") == 0)
- {
- const CORBA::ULong j = len;
- ++len;
-
- ++i; // 1
-
- repository_ids.length (len);
- repository_ids[j] = CORBA::string_dup (argv[i]);
-
- ++i; // 2
-
- if (ACE_OS::strcasecmp (argv[i], "-LBGroup") != 0)
- return -1;
-
- ++i; // 3
-
- object_groups.length (len);
- object_groups[j] = CORBA::string_dup (argv[i]);
- }
- else if (ACE_OS::strcasecmp (argv[i], "-LBLocation") == 0)
- {
- ++i;
- location = CORBA::string_dup (argv[i]);
- }
- }
-
- return this->register_orb_initializer (object_groups,
- repository_ids,
- location.in ());
-}
-
-int
-TAO_LB_Component::fini (void)
-{
- return 0;
-}
-
-int
-TAO_LB_Component::register_orb_initializer (
- const CORBA::StringSeq & object_groups,
- const CORBA::StringSeq & repository_ids,
- const char * location)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- // Register the LB_Component ORB initializer.
- PortableInterceptor::ORBInitializer_ptr tmp;
- ACE_NEW_THROW_EX (tmp,
- TAO_LB_ORBInitializer (object_groups,
- repository_ids,
- location),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_TRY_CHECK;
-
- PortableInterceptor::ORBInitializer_var initializer = tmp;
-
- PortableInterceptor::register_orb_initializer (initializer.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Unable to register LB_Component ORB "
- "initializer.");
- return -1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
-
-
-ACE_STATIC_SVC_DEFINE (TAO_LB_Component,
- ACE_TEXT ("LB_Component"),
- ACE_SVC_OBJ_T,
- &ACE_SVC_NAME (TAO_LB_Component),
- ACE_Service_Type::DELETE_THIS |
- ACE_Service_Type::DELETE_OBJ,
- 0)
-
-ACE_FACTORY_DEFINE (TAO_LoadBalancing, TAO_LB_Component)
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h
deleted file mode 100644
index fba947f2314..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Component.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file LB_Component.h
- *
- * $Id$
-
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-#ifndef TAO_LB_COMPONENT_H
-#define TAO_LB_COMPONENT_H
-
-#include "ace/pre.h"
-
-#include "orbsvcs/LoadBalancing/LoadBalancing_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/LB_ORTC.h"
-
-#include "ace/Service_Object.h"
-#include "ace/Service_Config.h"
-
-/**
- * @class TAO_LB_Component
- *
- * @brief Service_Object that can be used to add load balancer support
- * to a CORBA-base server.
- *
- * Servers wishing to transparently add load balancing/management
- * support load this object via the ACE_Service_Configurator (e.g. by
- * listing it in a `svc.conf' file).
- */
-class TAO_LoadBalancing_Export TAO_LB_Component
- : public ACE_Service_Object
-{
-public:
-
- /// Initializes object when dynamic linking occurs.
- virtual int init (int argc, ACE_TCHAR *argv[]);
-
- /// Terminates object when dynamic unlinking occurs.
- virtual int fini (void);
-
-protected:
-
- /// Register the LB_Component's ORBInitializer.
- int register_orb_initializer (const CORBA::StringSeq & object_groups,
- const CORBA::StringSeq & repository_ids,
- const char * location);
-
-};
-
-
-ACE_STATIC_SVC_DECLARE_EXPORT (TAO_LoadBalancing, TAO_LB_Component)
- //ACE_STATIC_SVC_REQUIRE (TAO_LB_Component)
-ACE_FACTORY_DECLARE (TAO_LoadBalancing, TAO_LB_Component)
-
-
-#include "ace/post.h"
-
-#endif /* TAO_LB_COMPONENT_H */
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp
deleted file mode 100644
index 5c68bdb08a2..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-#include "LB_IORInterceptor.h"
-#include "LB_ObjectReferenceFactory.h"
-#include "LB_LoadAlert.h"
-
-#include "tao/debug.h"
-
-
-ACE_RCSID (LoadBalancing,
- LB_IORInterceptor,
- "$Id$")
-
-
-TAO_LB_IORInterceptor::TAO_LB_IORInterceptor (
- const CORBA::StringSeq & object_groups,
- const CORBA::StringSeq & repository_ids,
- const char * location,
- CosLoadBalancing::LoadManager_ptr lm,
- const char * orb_id,
- TAO_LB_LoadAlert & /* load_alert */)
- : object_groups_ (object_groups),
- repository_ids_ (repository_ids),
- location_ (location),
- lm_ (CosLoadBalancing::LoadManager::_duplicate (lm)),
- orb_id_ (CORBA::string_dup (orb_id))
-// , load_alert_ (load_alert)
-// , la_ref_ ()
-// , lock_ ()
-{
-}
-
-char *
-TAO_LB_IORInterceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup ("TAO_LB_IORInterceptor");
-}
-
-void
-TAO_LB_IORInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Force the LoadManager reference to be released since the ORB's
- // lifetime is tied to object reference lifetimes.
- (void) this->lm_.out ();
-}
-
-void
-TAO_LB_IORInterceptor::establish_components (
- PortableInterceptor::IORInfo_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC (())
-{
-}
-
-void
-TAO_LB_IORInterceptor::components_established (
- PortableInterceptor::IORInfo_ptr info
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- int argc = 0;
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- 0,
- this->orb_id_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Save a copy of the current ObjectReferenceFactory.
- PortableInterceptor::ObjectReferenceFactory_var old_orf =
- info->current_factory (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- PortableInterceptor::ObjectReferenceFactory * tmp;
- ACE_NEW_THROW_EX (tmp,
- TAO_LB_ObjectReferenceFactory (old_orf.in (),
- this->object_groups_,
- this->repository_ids_,
- this->location_.in (),
- orb.in (),
- this->lm_.in ()),
- CORBA::NO_MEMORY (
- CORBA_SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- PortableInterceptor::ObjectReferenceFactory_var orf = tmp;
-
- info->current_factory (orf.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-void
-TAO_LB_IORInterceptor::adapter_manager_state_changed (
- PortableInterceptor::AdapterManagerId,
- PortableInterceptor::AdapterState /* state */
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-// if (state == PortableInterceptor::ACTIVE)
-// {
-// this->register_load_alert (ACE_ENV_SINGLE_ARG_PARAMETER);
-// ACE_CHECK;
-// }
-}
-
-void
-TAO_LB_IORInterceptor::adapter_state_changed (
- const PortableInterceptor::ObjectReferenceTemplateSeq &,
- PortableInterceptor::AdapterState /* state */
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-// if (state == PortableInterceptor::ACTIVE)
-// {
-// this->register_load_alert (ACE_ENV_SINGLE_ARG_PARAMETER);
-// ACE_CHECK;
-// }
-}
-
-void
-TAO_LB_IORInterceptor::register_load_alert (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
-{
-// {
-// ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_);
-
-// if (!CORBA::is_nil (this->la_ref_.in ()))
-// return;
-// }
-
-// ACE_TRY_EX (foo)
-// {
-// // By now, the RootPOA has been fully initialized, so it is safe
-// // to activate the LoadAlert object.
-// CosLoadBalancing::LoadAlert_var la =
-// this->load_alert_._this (ACE_ENV_SINGLE_ARG_PARAMETER);
-// ACE_TRY_CHECK_EX (foo);
-
-// {
-// ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_);
-
-// this->la_ref_ = la;
-// }
-
-// }
-// ACE_CATCHANY
-// {
-// ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
-// "LoadAlert::_this()");
-// }
-// ACE_ENDTRY;
-// ACE_CHECK;
-
-// ACE_TRY
-// {
-// PortableGroup::Location location (1);
-// location.length (1);
-// location[0].id = CORBA::string_dup (this->location_.in ());
-
-// this->lm_->register_load_alert (location,
-// this->la_ref_.in ()
-// ACE_ENV_ARG_PARAMETER);
-// ACE_TRY_CHECK;
-// }
-// ACE_CATCH (CosLoadBalancing::LoadAlertAlreadyPresent, ex)
-// {
-// if (TAO_debug_level > 0)
-// ACE_PRINT_EXCEPTION (ex,
-// "LoadManager::register_load_alert");
-
-// ACE_TRY_THROW (CORBA::BAD_INV_ORDER ());
-// }
-// ACE_CATCH (CosLoadBalancing::LoadAlertNotAdded, ex)
-// {
-// if (TAO_debug_level > 0)
-// ACE_PRINT_EXCEPTION (ex,
-// "LoadManager::register_load_alert");
-
-// ACE_TRY_THROW (CORBA::INTERNAL ());
-// }
-// ACE_ENDTRY;
-// ACE_CHECK;
-}
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp
deleted file mode 100644
index 8a96f967d1b..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp
+++ /dev/null
@@ -1,257 +0,0 @@
-// -*- C++ -*-
-
-#include "LB_LeastLoaded.h"
-#include "LB_LoadMap.h"
-#include "orbsvcs/PortableGroup/PG_conf.h"
-#include "tao/debug.h"
-
-ACE_RCSID (LoadBalancing,
- LB_LeastLoaded,
- "$Id$")
-
-
-#if !defined (__ACE_INLINE__)
-#include "LB_LeastLoaded.inl"
-#endif /* defined INLINE */
-
-
-TAO_LB_LeastLoaded::TAO_LB_LeastLoaded (CORBA::Float critical_threshold,
- CORBA::Float reject_threshold,
- CORBA::Float tolerance,
- CORBA::Float dampening,
- CORBA::Float per_balance_load)
- : load_map_ (0),
- lock_ (0),
- critical_threshold_ (critical_threshold),
- reject_threshold_ (reject_threshold),
- tolerance_ (tolerance == 0 ? 1 : tolerance),
- dampening_ (dampening),
- per_balance_load_ (per_balance_load)
-{
- // A load map that retains previous load values at a given location
- // and lock are only needed if dampening is enabled, i.e. non-zero.
- if (this->dampening_ != 0)
- {
- ACE_NEW (this->load_map_, TAO_LB_LoadMap (TAO_PG_MAX_LOCATIONS));
-
- ACE_NEW (this->lock_, TAO_SYNCH_MUTEX);
- }
-}
-
-TAO_LB_LeastLoaded::~TAO_LB_LeastLoaded (void)
-{
- delete this->load_map_;
- delete this->lock_;
-}
-
-char *
-TAO_LB_LeastLoaded::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup ("LeastLoaded");
-}
-
-CosLoadBalancing::Properties *
-TAO_LB_LeastLoaded::get_properties (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CosLoadBalancing::Properties * props = 0;
- ACE_NEW_THROW_EX (props,
- CosLoadBalancing::Properties,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (props);
-
- return props;
-}
-
-void
-TAO_LB_LeastLoaded::push_loads (
- const PortableGroup::Location & the_location,
- const CosLoadBalancing::LoadList & loads
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Only the first load is used by this load balancing strategy.
- if (loads.length () == 0)
- ACE_THROW (CORBA::BAD_PARAM ());
-
- CosLoadBalancing::Load load; // Unused
-
- this->push_loads (the_location,
- loads,
- load
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_LB_LeastLoaded::push_loads (
- const PortableGroup::Location & the_location,
- const CosLoadBalancing::LoadList & loads,
- CosLoadBalancing::Load & load
- ACE_ENV_ARG_DECL)
-{
- if (loads.length () == 0)
- ACE_THROW (CORBA::BAD_PARAM ());
-
- // Only the first load is used by this load balancing strategy.
- const CosLoadBalancing::Load & new_load = loads[0];
-
- if (this->load_map_ != 0)
- {
- ACE_GUARD (TAO_SYNCH_MUTEX, guard, *this->lock_);
-
- TAO_LB_LoadMap::ENTRY * entry;
- if (this->load_map_->find (the_location, entry) == 0)
- {
- CosLoadBalancing::Load & previous_load = entry->int_id_;
-
- if (previous_load.id != new_load.id)
- ACE_THROW (CORBA::BAD_PARAM ()); // Somebody switched
- // LoadIds on us!
-
- previous_load.value =
- this->effective_load (previous_load.value, new_load.value);
-
- load = previous_load;
- }
- else
- {
- const CosLoadBalancing::Load eff_load =
- {
- new_load.id,
- this->effective_load (0, new_load.value)
- };
-
- if (this->load_map_->bind (the_location, eff_load) != 0)
- {
- if (TAO_debug_level > 0)
- ACE_ERROR ((LM_ERROR,
- "ERROR: TAO_LB_LeastLoaded - "
- "Unable to push loads\n"));
-
- ACE_THROW (CORBA::INTERNAL ());
- }
-
- load = eff_load;
- }
- }
- else
- {
- load.id = new_load.id;
- load.value = this->effective_load (0, new_load.value);
- }
-}
-
-CORBA::Object_ptr
-TAO_LB_LeastLoaded::next_member (
- PortableGroup::ObjectGroup_ptr object_group,
- CosLoadBalancing::LoadManager_ptr load_manager
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberNotFound))
-{
- if (CORBA::is_nil (load_manager))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (),
- CORBA::Object::_nil ());
-
- PortableGroup::Locations_var locations =
- load_manager->locations_of_members (object_group
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- if (locations->length () == 0)
- ACE_THROW_RETURN (CORBA::TRANSIENT (),
- CORBA::Object::_nil ());
-
- // @@ RACE CONDITION. OBJECT GROUP MEMBERSHIP MAY CHANGE AFTER
- // RETRIEVING LOCATIONS! HOW DO WE HANDLE THAT?
-
- PortableGroup::Location location;
- CORBA::Boolean found_location =
- this->get_location (load_manager,
- locations.in (),
- location
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- if (found_location)
- {
- return load_manager->get_member_ref (object_group,
- location
- ACE_ENV_ARG_PARAMETER);
- }
- else
- {
- // This should never occur.
- ACE_THROW_RETURN (CORBA::INTERNAL (),
- CORBA::Object::_nil ());
- }
-}
-
-CORBA::Boolean
-TAO_LB_LeastLoaded::get_location (
- CosLoadBalancing::LoadManager_ptr load_manager,
- const PortableGroup::Locations & locations,
- PortableGroup::Location & location
- ACE_ENV_ARG_DECL)
-{
- CORBA::Float min_load = 0;
- CORBA::ULong location_index = 0;
- CORBA::Boolean found_location = 0;
-
- const CORBA::ULong len = locations.length ();
-
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- const PortableGroup::Location & loc = locations[i];
-
- // Retrieve the load list for the location from the LoadManager
- // and push it to this Strategy's load processor.
- CosLoadBalancing::LoadList_var current_loads =
- load_manager->get_loads (loc
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CosLoadBalancing::Load load;
- this->push_loads (loc,
- current_loads.in (),
- load
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (load.value < this->reject_threshold_
- && (i == 0 || load.value < min_load))
- {
- min_load = load.value;
- location_index = i;
- found_location = 1;
- }
- else if (load.value > this->critical_threshold_)
- {
- // The location is overloaded. Perform load shedding by
- // informing the LoadAlert object associated with the member
- // at that location it should redirect client requests back
- // to the LoadManager.
- load_manager->enable_alert (loc
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- else if (load.value <= this->critical_threshold_)
- {
- // The location is not overloaded
- load_manager->disable_alert (loc
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- }
-
- if (found_location)
- location = locations[location_index];
-
- return found_location;
-}
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h
deleted file mode 100644
index 5a078789ccd..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h
+++ /dev/null
@@ -1,147 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file LB_LeastLoaded.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef LB_LEAST_LOADED_H
-#define LB_LEAST_LOADED_H
-
-#include "ace/pre.h"
-
-#include "LB_LoadMap.h"
-
-# if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-# endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/CosLoadBalancingC.h"
-
-#include "ace/Synch.h"
-
-namespace TAO_LB
-{
- /**
- * @name Default LeastLoaded strategy parameters.
- *
- * Defaults defined by the Load Balancing specification.
- */
- const CORBA::Float LL_DEFAULT_CRITICAL_THRESHOLD = 0;
- const CORBA::Float LL_DEFAULT_REJECT_THRESHOLD = 0;
- const CORBA::Float LL_DEFAULT_TOLERANCE = 1;
- const CORBA::Float LL_DEFAULT_DAMPENING = 0;
- const CORBA::Float LL_DEFAULT_PER_BALANCE_LOAD = 0;
-}
-
-/**
- * @class TAO_LB_LeastLoaded
- *
- * @brief "Least loaded" load balancing strategy
- *
- * This load balancing strategy is designed to select an object group
- * member residing at a location with the smallest load.
- */
-class TAO_LB_LeastLoaded
- : public virtual CosLoadBalancing::Strategy,
- public virtual CORBA::LocalObject
-{
-public:
-
- /// Constructor.
- TAO_LB_LeastLoaded (
- CORBA::Float critical_threshold = TAO_LB::LL_DEFAULT_CRITICAL_THRESHOLD,
- CORBA::Float reject_threshold = TAO_LB::LL_DEFAULT_REJECT_THRESHOLD,
- CORBA::Float tolerance = TAO_LB::LL_DEFAULT_TOLERANCE,
- CORBA::Float dampening = TAO_LB::LL_DEFAULT_DAMPENING,
- CORBA::Float per_balance_load = TAO_LB::LL_DEFAULT_PER_BALANCE_LOAD);
-
- /// Destructor.
- ~TAO_LB_LeastLoaded (void);
-
- /**
- * @name CosLoadBalancing::Strategy methods
- *
- * Methods required by the CosLoadBalancing::Strategy interface.
- */
- //@{
- virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CosLoadBalancing::Properties * get_properties (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void push_loads (
- const PortableGroup::Location & the_location,
- const CosLoadBalancing::LoadList & loads
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Object_ptr next_member (
- PortableGroup::ObjectGroup_ptr object_group,
- CosLoadBalancing::LoadManager_ptr load_manager
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberNotFound));
-
-// virtual void analyze_loads (
-// PortableGroup::ObjectGroup_ptr object_group,
-// CosLoadBalancing::LoadManager_ptr load_manager
-// ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-// ACE_THROW_SPEC ((CORBA::SystemException));
- //@}
-
-protected:
-
- /// Retrieve the least loaded location from the given list of
- /// locations.
- CORBA::Boolean get_location (CosLoadBalancing::LoadManager_ptr load_manager,
- const PortableGroup::Locations & locations,
- PortableGroup::Location & location
- ACE_ENV_ARG_DECL);
-
- /// Return the effective load.
- CORBA::Float effective_load (CORBA::Float previous_load,
- CORBA::Float new_load);
-
- /// Push the new load into this Strategy's load processor, and
- /// return the corresponding effective load.
- void push_loads (
- const PortableGroup::Location & the_location,
- const CosLoadBalancing::LoadList & loads,
- CosLoadBalancing::Load & effective_load
- ACE_ENV_ARG_DECL);
-
-private:
-
- /// Table that maps location to load list.
- TAO_LB_LoadMap * load_map_;
-
- /// Lock used to ensure atomic access to state retained by this
- /// class.
- TAO_SYNCH_MUTEX * lock_;
-
- CORBA::Float critical_threshold_;
- CORBA::Float reject_threshold_;
- CORBA::Float tolerance_;
- CORBA::Float dampening_;
- CORBA::Float per_balance_load_;
-
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "LB_LeastLoaded.inl"
-#endif /* defined INLINE */
-
-#include "ace/post.h"
-
-#endif /* LB_LEAST_LOADED_H */
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp
deleted file mode 100644
index 308b1d392ec..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp
+++ /dev/null
@@ -1,1147 +0,0 @@
-#include "LB_LoadManager.h"
-#include "LB_MemberLocator.h"
-#include "LB_LoadAlert_Handler.h"
-#include "LB_RoundRobin.h"
-#include "LB_Random.h"
-#include "LB_LeastLoaded.h"
-#include "LB_conf.h"
-
-#include "orbsvcs/PortableGroup/PG_Property_Utils.h"
-#include "orbsvcs/PortableGroup/PG_conf.h"
-
-#include "tao/Messaging/Messaging.h"
-
-#include "tao/debug.h"
-
-ACE_RCSID (LoadBalancing,
- LB_LoadManager,
- "$Id$")
-
-
-TAO_LB_LoadManager::TAO_LB_LoadManager (void)
- : reactor_ (0),
- poa_ (),
- monitor_lock_ (),
- load_lock_ (),
- load_alert_lock_ (),
- lock_ (),
- monitor_map_ (TAO_PG_MAX_LOCATIONS),
- load_map_ (TAO_PG_MAX_LOCATIONS),
- load_alert_map_ (TAO_PG_MAX_LOCATIONS),
- object_group_manager_ (),
- property_manager_ (object_group_manager_),
- generic_factory_ (object_group_manager_, property_manager_),
- pull_handler_ (),
- timer_id_ (-1),
- lm_ref_ (),
- round_robin_ (0),
- random_ (0),
- least_loaded_ (0),
- built_in_balancing_strategy_name_ (1),
- custom_balancing_strategy_name_ (1)
-{
- this->pull_handler_.initialize (&this->monitor_map_, this);
-
- // @note "this->init()" is not called here (in the constructor)
- // since it may thrown an exception. Throwing an exception in
- // a constructor in an emulated exception environment is
- // problematic since native exception semantics cannot be
- // reproduced in such a case. As such, init() must be called
- // by whatever code instantiates this LoadManager.
-}
-
-TAO_LB_LoadManager::~TAO_LB_LoadManager (void)
-{
- delete this->round_robin_;
- delete this->random_;
- delete this->least_loaded_;
-}
-
-void
-TAO_LB_LoadManager::push_loads (
- const PortableGroup::Location & the_location,
- const CosLoadBalancing::LoadList & loads
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (loads.length () == 0)
- ACE_THROW (CORBA::BAD_PARAM ());
-
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
- this->load_lock_);
-
- if (this->load_map_.rebind (the_location, loads) == -1)
- ACE_THROW (CORBA::INTERNAL ());
-}
-
-CosLoadBalancing::LoadList *
-TAO_LB_LoadManager::get_loads (const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::LocationNotFound))
-{
- CosLoadBalancing::LoadList * tmp;
- ACE_NEW_THROW_EX (tmp,
- CosLoadBalancing::LoadList,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (0);
-
- CosLoadBalancing::LoadList_var loads = tmp;
-
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
- guard,
- this->load_lock_,
- 0);
-
- if (this->load_map_.find (the_location, *tmp) == 0)
- return loads._retn ();
- else
- ACE_THROW_RETURN (CosLoadBalancing::LocationNotFound (), 0);
-}
-
-void
-TAO_LB_LoadManager::enable_alert (const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CosLoadBalancing::LoadAlertNotFound))
-{
- ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->load_alert_lock_);
-
- TAO_LB_LoadAlertMap::ENTRY * entry;
- if (this->load_alert_map_.find (the_location, entry) == 0)
- {
- TAO_LB_LoadAlertInfo & info = entry->int_id_;
-
- // @note This could be problematic if the LoadAlert object is
- // registered with more than LoadManager.
- if (info.alerted == 1)
- return; // No need to set the alert status. It has already
- // been set.
-
- // Duplicate before releasing the LoadAlertMap lock to prevent a
- // race condition from occuring. The LoadAlertInfo map may be
- // altered prior to invoking an operation on the LoadAlert
- // object.
- CosLoadBalancing::LoadAlert_var load_alert =
- CosLoadBalancing::LoadAlert::_duplicate (info.load_alert.in ());
-
- // The alert condition will be enabled.
- // @note There is a subtle problem here. If the below
- // remote invocation fails, this variable will be
- // incorrectly set to "true."
- info.alerted = 1;
-
- // Release the lock prior to making the below remote invocation.
- ACE_Reverse_Lock<TAO_SYNCH_MUTEX> reverse_lock (this->load_alert_lock_);
- ACE_GUARD (ACE_Reverse_Lock<TAO_SYNCH_MUTEX>,
- reverse_guard,
- reverse_lock);
-
- // Use AMI to make the following operation
- // "non-blocking," allowing the caller to continue
- // without being forced to wait for a response.
- //
- // AMI is used to improve member selection times and overall
- // throughput since the LoadAlert object need not be alerted
- // synchronously. In particular, the load alert can and
- // should be performed in parallel to other tasks, such as
- // member selection.
- load_alert->sendc_enable_alert (this->load_alert_handler_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- else
- ACE_THROW (CosLoadBalancing::LoadAlertNotFound ());
-}
-
-void
-TAO_LB_LoadManager::disable_alert (const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CosLoadBalancing::LoadAlertNotFound))
-{
- ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->load_alert_lock_);
-
- TAO_LB_LoadAlertMap::ENTRY * entry;
- if (this->load_alert_map_.find (the_location, entry) == 0)
- {
- TAO_LB_LoadAlertInfo & info = entry->int_id_;
-
- // @note This could be problematic if the LoadAlert object is
- // registered with more than LoadManager.
- if (info.alerted == 0)
- return; // No need to set the alert status. It has already
- // been set.
-
- // Duplicate before releasing the LoadAlertMap lock to prevent a
- // race condition from occuring. The LoadAlertInfo map may be
- // altered prior to invoking an operation on the LoadAlert
- // object.
- CosLoadBalancing::LoadAlert_var load_alert =
- CosLoadBalancing::LoadAlert::_duplicate (info.load_alert.in ());
-
- // The alert condition will be disabled.
- // @note There is a subtle problem here. If the below
- // remote invocation fails, this variable will be
- // incorrectly set to "false."
- info.alerted = 0;
-
- // Release the lock prior to making the below remote invocation.
- ACE_Reverse_Lock<TAO_SYNCH_MUTEX> reverse_lock (this->load_alert_lock_);
- ACE_GUARD (ACE_Reverse_Lock<TAO_SYNCH_MUTEX>,
- reverse_guard,
- reverse_lock);
-
- // Use AMI to make the following operation
- // "non-blocking," allowing the caller to continue
- // without being forced to wait for a response.
- //
- // AMI is used to improve member selection times and overall
- // throughput since the LoadAlert object need not be alerted
- // synchronously. In particular, the load alert can and
- // should be performed in parallel to other tasks, such as
- // member selection.
- load_alert->sendc_disable_alert (this->load_alert_handler_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- else
- ACE_THROW (CosLoadBalancing::LoadAlertNotFound ());
-}
-
-void
-TAO_LB_LoadManager::register_load_alert (
- const PortableGroup::Location & the_location,
- CosLoadBalancing::LoadAlert_ptr load_alert
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::LoadAlertAlreadyPresent,
- CosLoadBalancing::LoadAlertNotAdded))
-{
- if (CORBA::is_nil (load_alert))
- ACE_THROW (CORBA::BAD_PARAM ());
-
- ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->load_alert_lock_);
-
- TAO_LB_LoadAlertInfo info;
- info.load_alert = CosLoadBalancing::LoadAlert::_duplicate (load_alert);
-
- int result = this->load_alert_map_.bind (the_location, info);
-
- if (result == 1)
- {
- ACE_THROW (CosLoadBalancing::LoadAlertAlreadyPresent ());
- }
- else if (result == -1)
- {
- // Problems dude!
- ACE_THROW (CosLoadBalancing::LoadAlertNotAdded ());
- }
-}
-
-CosLoadBalancing::LoadAlert_ptr
-TAO_LB_LoadManager::get_load_alert (
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::LoadAlertNotFound))
-{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
- guard,
- this->load_alert_lock_,
- CosLoadBalancing::LoadAlert::_nil ());
-
- TAO_LB_LoadAlertMap::ENTRY * entry;
- if (this->load_alert_map_.find (the_location, entry) == 0)
- {
- TAO_LB_LoadAlertInfo & info = entry->int_id_;
-
- return
- CosLoadBalancing::LoadAlert::_duplicate (info.load_alert.in ());
- }
- else
- {
- ACE_THROW_RETURN (CosLoadBalancing::LoadAlertNotFound (),
- CosLoadBalancing::LoadAlert::_nil ());
- }
-}
-
-void
-TAO_LB_LoadManager::remove_load_alert (
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::LoadAlertNotFound))
-{
- // Disable the "alert" status on the LoadAlert object since it will
- // no longer be associated with the LoadManager. In particular,
- // requests should be allowed through once again since there will be
- // no way to control the load shedding mechanism once the LoadAlert
- // object is no longer under the control of the LoadManager.
- this->disable_alert (the_location
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->load_alert_lock_);
-
- if (this->load_alert_map_.unbind (the_location) != 0)
- {
- ACE_THROW (CosLoadBalancing::LoadAlertNotFound ());
- }
-}
-
-void
-TAO_LB_LoadManager::register_load_monitor (
- CosLoadBalancing::LoadMonitor_ptr load_monitor,
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::MonitorAlreadyPresent))
-{
- if (CORBA::is_nil (load_monitor))
- ACE_THROW (CORBA::BAD_PARAM ());
-
- const CosLoadBalancing::LoadMonitor_var the_monitor =
- CosLoadBalancing::LoadMonitor::_duplicate (load_monitor);
-
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
- this->monitor_lock_);
-
- int result = this->monitor_map_.bind (the_location, the_monitor);
-
- if (result == 0
- && this->monitor_map_.current_size () == 1)
- {
- // Register the "pull monitoring" event handler only after the
- // first load monitor is registered. This is an optimization to
- // prevent unnecessary invocation of the "pull monitoring" event
- // handler.
- ACE_Time_Value interval (TAO_LB_PULL_HANDLER_INTERVAL, 0);
- ACE_Time_Value restart (TAO_LB_PULL_HANDLER_RESTART, 0);
- this->timer_id_ = this->reactor_->schedule_timer (&this->pull_handler_,
- 0,
- interval,
- restart);
-
- if (this->timer_id_ == -1)
- {
- if (TAO_debug_level > 0)
- ACE_ERROR ((LM_ERROR,
- "TAO_LB_LoadManager::register_load_monitor: "
- "Unable to schedule timer.\n"));
-
- ACE_THROW (CORBA::INTERNAL ());
- }
- }
- else if (result == 1)
- ACE_THROW (CosLoadBalancing::MonitorAlreadyPresent ());
- else
- {
- if (TAO_debug_level > 0)
- ACE_ERROR ((LM_ERROR,
- "TAO_LB_LoadManager::register_load_monitor: "
- "Unable to register load monitor.\n"));
-
- ACE_THROW (CORBA::INTERNAL ());
- }
-}
-
-CosLoadBalancing::LoadMonitor_ptr
-TAO_LB_LoadManager::get_load_monitor (
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::LocationNotFound))
-{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
- guard,
- this->monitor_lock_,
- CosLoadBalancing::LoadMonitor::_nil ());
-
- TAO_LB_MonitorMap::ENTRY * entry;
- if (this->monitor_map_.find (the_location, entry) == 0)
- {
- return
- CosLoadBalancing::LoadMonitor::_duplicate (entry->int_id_.in ());
- }
-
- ACE_THROW_RETURN (CosLoadBalancing::LocationNotFound (),
- CosLoadBalancing::LoadMonitor::_nil ());
-}
-
-void
-TAO_LB_LoadManager::remove_load_monitor (
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::LocationNotFound))
-{
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
- this->monitor_lock_);
-
- if (this->monitor_map_.unbind (the_location) != 0)
- ACE_THROW (CosLoadBalancing::LocationNotFound ());
-
- // If no load monitors are registered with the load balancer than
- // shutdown the "pull monitoring."
- if (this->timer_id_ != -1
- && this->monitor_map_.current_size () == 0)
- {
- if (this->reactor_->cancel_timer (this->timer_id_) == 0)
- {
- if (TAO_debug_level > 0)
- ACE_ERROR ((LM_ERROR,
- "TAO_LB_LoadManager::remove_load_monitor: "
- "Unable to cancel timer.\n"));
-
- ACE_THROW (CORBA::INTERNAL ());
- }
-
- this->timer_id_ = -1;
- }
-}
-
-void
-TAO_LB_LoadManager::set_default_properties (
- const PortableGroup::Properties & props
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::InvalidProperty,
- PortableGroup::UnsupportedProperty))
-{
- this->check_strategy_prop (props
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->property_manager_.set_default_properties (props
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::Properties *
-TAO_LB_LoadManager::get_default_properties (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- this->property_manager_.get_default_properties (
- ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_LB_LoadManager::remove_default_properties (
- const PortableGroup::Properties & props
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::InvalidProperty,
- PortableGroup::UnsupportedProperty))
-{
- this->property_manager_.remove_default_properties (props
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_LB_LoadManager::set_type_properties (
- const char *type_id,
- const PortableGroup::Properties & overrides
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::InvalidProperty,
- PortableGroup::UnsupportedProperty))
-{
- this->check_strategy_prop (overrides
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->property_manager_.set_type_properties (type_id,
- overrides
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::Properties *
-TAO_LB_LoadManager::get_type_properties (
- const char *type_id
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- this->property_manager_.get_type_properties (type_id
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_LB_LoadManager::remove_type_properties (
- const char *type_id,
- const PortableGroup::Properties & props
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::InvalidProperty,
- PortableGroup::UnsupportedProperty))
-{
- this->property_manager_.remove_type_properties (type_id,
- props
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_LB_LoadManager::set_properties_dynamically (
- PortableGroup::ObjectGroup_ptr object_group,
- const PortableGroup::Properties & overrides
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::InvalidProperty,
- PortableGroup::UnsupportedProperty))
-{
- this->check_strategy_prop (overrides
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->property_manager_.set_properties_dynamically (object_group,
- overrides
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::Properties *
-TAO_LB_LoadManager::get_properties (
- PortableGroup::ObjectGroup_ptr object_group
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound))
-{
- return
- this->property_manager_.get_properties (object_group
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::ObjectGroup_ptr
-TAO_LB_LoadManager::create_member (
- PortableGroup::ObjectGroup_ptr object_group,
- const PortableGroup::Location & the_location,
- const char * type_id,
- const PortableGroup::Criteria & the_criteria
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberAlreadyPresent,
- PortableGroup::NoFactory,
- PortableGroup::ObjectNotCreated,
- PortableGroup::InvalidCriteria,
- PortableGroup::CannotMeetCriteria))
-{
- return
- this->object_group_manager_.create_member (object_group,
- the_location,
- type_id,
- the_criteria
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::ObjectGroup_ptr
-TAO_LB_LoadManager::add_member (
- PortableGroup::ObjectGroup_ptr object_group,
- const PortableGroup::Location & the_location,
- CORBA::Object_ptr member
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberAlreadyPresent,
- PortableGroup::ObjectNotAdded))
-{
- return
- this->object_group_manager_.add_member (object_group,
- the_location,
- member
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::ObjectGroup_ptr
-TAO_LB_LoadManager::remove_member (
- PortableGroup::ObjectGroup_ptr object_group,
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberNotFound))
-{
- return
- this->object_group_manager_.remove_member (object_group,
- the_location
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::Locations *
-TAO_LB_LoadManager::locations_of_members (
- PortableGroup::ObjectGroup_ptr object_group
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound))
-{
- return
- this->object_group_manager_.locations_of_members (object_group
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::ObjectGroupId
-TAO_LB_LoadManager::get_object_group_id (
- PortableGroup::ObjectGroup_ptr object_group
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound))
-{
- return
- this->object_group_manager_.get_object_group_id (object_group
- ACE_ENV_ARG_PARAMETER);
-}
-
-PortableGroup::ObjectGroup_ptr
-TAO_LB_LoadManager::get_object_group_ref (
- PortableGroup::ObjectGroup_ptr object_group
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound))
-{
- return
- this->object_group_manager_.get_object_group_ref (object_group
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_LB_LoadManager::get_member_ref (
- PortableGroup::ObjectGroup_ptr object_group,
- const PortableGroup::Location & the_location
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberNotFound))
-{
- return
- this->object_group_manager_.get_member_ref (object_group,
- the_location
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_LB_LoadManager::create_object (
- const char * type_id,
- const PortableGroup::Criteria & the_criteria,
- PortableGroup::GenericFactory::FactoryCreationId_out
- factory_creation_id
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::NoFactory,
- PortableGroup::ObjectNotCreated,
- PortableGroup::InvalidCriteria,
- PortableGroup::InvalidProperty,
- PortableGroup::CannotMeetCriteria))
-{
-// this->init (ACE_ENV_SINGLE_ARG_PARAMETER);
-// ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- CORBA::Object_ptr obj =
- this->generic_factory_.create_object (type_id,
- the_criteria,
- factory_creation_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
-
- return obj;
-}
-
-#if 0
-void
-TAO_LB_LoadManager::process_criteria (
- const PortableGroup::Criteria & the_criteria
- ACE_ENV_ARG_DECL)
-{
- // List of invalid criteria. If this list has a length greater than
- // zero, then the PortableGroup::InvalidCriteria exception will
- // be thrown.
- PortableGroup::Criteria invalid_criteria;
-
- int found_factory = 0; // If factory was found in the_criteria, then
- // set to 1.
-
- // Parse the criteria.
- CORBA::ULong criteria_count = the_criteria.length ();
- for (CORBA::ULong i = 0; i < criteria_size; ++i)
- {
- CORBA::UShort initial_number_replicas = 0;
- PortableGroup::FactoryInfos factory_infos;
-
- // Obtain the InitialNumberMembers from the_criteria.
- if (this->get_initial_number_replicas (type_id,
- the_criteria[i],
- initial_number_replicas) != 0)
- {
- CORBA::ULong len = invalid_criteria.length ();
- invalid_criteria.length (len + 1);
- invalid_criteria[len] = the_criteria[i];
- }
-
- // Obtain the FactoryInfos from the_criteria. This method also
- // ensures that GenericFactories at different locations are used.
- else if (this->get_factory_infos (type_id,
- the_criteria[i],
- factory_infos) == 0)
- found_factory = 1;
-
- // Unknown property
- else
- ACE_THROW (PortableGroup::InvalidProperty (the_criteria[i].nam,
- the_criteria[i].val));
- }
-
- if (invalid_criteria.length () != 0)
- ACE_THROW (PortableGroup::InvalidCriteria (invalid_criteria));
-
- if (found_factory == 0)
- ACE_THROW (PortableGroup::NoFactory ());
-}
-#endif /* 0 */
-
-void
-TAO_LB_LoadManager::delete_object (
- const PortableGroup::GenericFactory::FactoryCreationId &
- factory_creation_id
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectNotFound))
-{
- this->generic_factory_.delete_object (factory_creation_id
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_LB_LoadManager::next_member (const PortableServer::ObjectId & oid
- ACE_ENV_ARG_DECL)
-{
- PortableGroup::ObjectGroup_var object_group =
- this->object_group_manager_.object_group (oid);
-
- if (CORBA::is_nil (object_group.in ()))
- ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (),
- CORBA::Object::_nil ());
-
- PortableGroup::Properties_var properties =
- this->get_properties (object_group.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- // Prefer custom load balancing strategies over built-in ones.
- PortableGroup::Value value;
- CosLoadBalancing::Strategy_var balancing_strategy;
- CosLoadBalancing::StrategyInfo * built_in; // Built-in Strategy
- // information.
-
- if ((TAO_PG::get_property_value (this->custom_balancing_strategy_name_,
- properties.in (),
- value)
- && (value >>= balancing_strategy.inout ())
- && !CORBA::is_nil (balancing_strategy.in ())))
- {
- return balancing_strategy->next_member (object_group.in (),
- this->lm_ref_.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- else if (TAO_PG::get_property_value (this->built_in_balancing_strategy_name_,
- properties.in (),
- value)
- && (value >>= built_in))
- {
- balancing_strategy = this->built_in_strategy (built_in
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- if (!CORBA::is_nil (balancing_strategy.in ()))
- {
- return balancing_strategy->next_member (object_group.in (),
- this->lm_ref_.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- else
- {
- ACE_THROW_RETURN (CORBA::INTERNAL (),
- CORBA::Object::_nil ());
- }
- }
- else
- {
- ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (),
- CORBA::Object::_nil ());
- }
-}
-
-void
-TAO_LB_LoadManager::init (ACE_Reactor * reactor,
- CORBA::ORB_ptr orb,
- PortableServer::POA_ptr root_poa
- ACE_ENV_ARG_DECL)
-{
- ACE_ASSERT (!CORBA::is_nil (orb));
- ACE_ASSERT (!CORBA::is_nil (root_poa));
-
- ACE_GUARD (TAO_SYNCH_MUTEX,
- guard,
- this->lock_);
-
- if (CORBA::is_nil (this->poa_.in ()))
- {
- // Create a new transient servant manager object in the child
- // POA.
- PortableServer::ServantManager_ptr tmp;
- ACE_NEW_THROW_EX (tmp,
- TAO_LB_MemberLocator (this),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- PortableServer::ServantManager_var member_locator = tmp;
-
- // Create the appropriate RequestProcessingPolicy
- // (USE_SERVANT_MANAGER) and ServantRetentionPolicy (NON_RETAIN)
- // for a ServantLocator.
- PortableServer::RequestProcessingPolicy_var request =
- root_poa->create_request_processing_policy (
- PortableServer::USE_SERVANT_MANAGER
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- PortableServer::ServantRetentionPolicy_var retention =
- root_poa->create_servant_retention_policy (
- PortableServer::NON_RETAIN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Create the PolicyList containing the policies necessary for
- // the POA to support ServantLocators.
- CORBA::PolicyList policy_list;
- policy_list.length (2);
- policy_list[0] =
- PortableServer::RequestProcessingPolicy::_duplicate (
- request.in ());
- policy_list[1] =
- PortableServer::ServantRetentionPolicy::_duplicate (
- retention.in ());
-
- // Create the child POA with the above ServantManager policies.
- // The ServantManager will be the MemberLocator.
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // The child POA's name will consist of a string that includes
- // the current time in milliseconds in hexidecimal format (only
- // four bytes will be used). This is an attempt to prevent
- // different load manager servants within the same ORB from
- // using the same POA.
- const ACE_Time_Value tv = ACE_OS::gettimeofday ();
- const CORBA::Long time =
- ACE_static_cast (CORBA::Long,
- tv.msec ()); // Time in milliseconds.
-
- char poa_name[] = "TAO_LB_LoadManager_POA - 0xZZZZZZZZ";
- char * astr =
- poa_name
- + sizeof (poa_name)
- - 9 /* 8 + 1 */;
-
- // Overwrite the last 8 characters in the POA name.
- ACE_OS::sprintf (astr, "%d", time);
-
- this->poa_ = root_poa->create_POA (poa_name,
- poa_manager.in (),
- policy_list
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- retention->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Now set the MemberLocator as the child POA's Servant
- // Manager.
- this->poa_->set_servant_manager (member_locator.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->object_group_manager_.poa (this->poa_.in ());
- this->generic_factory_.poa (this->poa_.in ());
-
- // Activate the child POA.
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->reactor_ = reactor;
- }
-
- if (CORBA::is_nil (this->lm_ref_.in ()))
- {
- this->lm_ref_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- orb->register_initial_reference ("LoadManager",
- this->lm_ref_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- if (CORBA::is_nil (this->load_alert_handler_.in ()))
- {
- TAO_LB_LoadAlert_Handler * handler;
- ACE_NEW_THROW_EX (handler,
- TAO_LB_LoadAlert_Handler,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
-
- PortableServer::ServantBase_var safe_handler = handler;
-
- this->load_alert_handler_ =
- handler->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- this->built_in_balancing_strategy_name_.length (1);
- this->built_in_balancing_strategy_name_[0].id =
- CORBA::string_dup ("org.omg.CosLoadBalancing.Strategy");
-
- this->custom_balancing_strategy_name_.length (1);
- this->custom_balancing_strategy_name_[0].id =
- CORBA::string_dup ("org.omg.CosLoadBalancing.CustomStrategy");
-}
-
-CosLoadBalancing::Strategy_ptr
-TAO_LB_LoadManager::built_in_strategy (CosLoadBalancing::StrategyInfo * info
- ACE_ENV_ARG_DECL)
-{
- ACE_ASSERT (info != 0);
-
- const char * name = info->name.in ();
- const PortableGroup::Properties & props = info->props;
-
- CosLoadBalancing::Strategy_ptr strategy =
- CosLoadBalancing::Strategy::_nil ();
-
- // @todo We should probably shove this code into a factory.
-
- if (ACE_OS::strcmp ("RoundRobin", name) == 0)
- {
- // Double-checked locking
- if (this->round_robin_ == 0)
- {
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
- guard,
- this->lock_,
- 0);
-
- if (this->round_robin_ == 0)
- {
- ACE_NEW_THROW_EX (this->round_robin_,
- TAO_LB_RoundRobin,
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ());
- }
- }
-
- strategy = this->round_robin_;
- }
-
- else if (ACE_OS::strcmp ("Random", name) == 0)
- {
- // Double-checked locking
- if (this->random_ == 0)
- {
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
- guard,
- this->lock_,
- 0);
-
- if (this->random_ == 0)
- {
- ACE_NEW_THROW_EX (this->random_,
- TAO_LB_Random,
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ());
- }
- }
-
- strategy = this->random_;
- }
-
- else if (ACE_OS::strcmp ("LeastLoaded", name) == 0)
- {
- this->init_least_loaded (props
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosLoadBalancing::Strategy::_nil ());
-
- strategy = this->least_loaded_;
- }
-
- else
- {
- if (TAO_debug_level > 0)
- ACE_ERROR ((LM_ERROR,
- "ERROR: TAO_LB_LoadManager::next_member - "
- "Unknown/unexpected built-in Strategy:\n"
- " \"%s\"\n",
- strategy));
-
- // This should never occur!
- return CosLoadBalancing::Strategy::_nil ();
- }
-
- ACE_ASSERT (!CORBA::is_nil (strategy));
-
- return CosLoadBalancing::Strategy::_duplicate (strategy);
-}
-
-void
-TAO_LB_LoadManager::check_strategy_prop (
- const PortableGroup::Properties & props
- ACE_ENV_ARG_DECL)
-{
- const CORBA::ULong len = props.length ();
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- const PortableGroup::Property & property = props[i];
- if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.CustomStrategy") == 0)
- {
- CosLoadBalancing::CustomStrategy_var strategy;
- if (!(property.val >>= strategy.inout ())
- || CORBA::is_nil (strategy.in ()))
- ACE_THROW (PortableGroup::InvalidProperty (property.nam,
- property.val));
- }
-
- else if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.Strategy") == 0)
- {
- CosLoadBalancing::StrategyInfo * info;
- if (property.val >>= info)
- {
- if (ACE_OS::strcmp (info->name.in (), "LeastLoaded") == 0)
- {
- this->init_least_loaded (info->props
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- }
- else
- ACE_THROW (PortableGroup::InvalidProperty (property.nam,
- property.val));
- }
-
- }
-}
-
-void
-TAO_LB_LoadManager::init_least_loaded (const PortableGroup::Properties & props
- ACE_ENV_ARG_DECL)
-{
- // Double-checked locking
- if (this->least_loaded_ == 0)
- {
- ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->lock_);
-
- if (this->least_loaded_ == 0)
- {
- CORBA::Float critical_threshold =
- TAO_LB::LL_DEFAULT_CRITICAL_THRESHOLD;
- CORBA::Float reject_threshold = TAO_LB::LL_DEFAULT_REJECT_THRESHOLD;
- CORBA::Float tolerance = TAO_LB::LL_DEFAULT_TOLERANCE;
- CORBA::Float dampening = TAO_LB::LL_DEFAULT_DAMPENING;
- CORBA::Float per_balance_load = TAO_LB::LL_DEFAULT_PER_BALANCE_LOAD;
-
- const CORBA::ULong len = props.length ();
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- const PortableGroup::Property & property = props[i];
- if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.Strategy.LeastLoaded.CriticalThreshold") == 0)
- {
- this->extract_float_property (property,
- critical_threshold
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- else if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.Strategy.LeastLoaded.RejectThreshold") == 0)
- {
- this->extract_float_property (property,
- reject_threshold
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- else if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.Strategy.LeastLoaded.Tolerance") == 0)
- {
- this->extract_float_property (property,
- tolerance
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- else if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.Strategy.LeastLoaded.Dampening") == 0)
- {
- this->extract_float_property (property,
- dampening
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- else if (ACE_OS::strcmp (property.nam[0].id.in (),
- "org.omg.CosLoadBalancing.Strategy.LeastLoaded.PerBalanceLoad") == 0)
- {
- this->extract_float_property (property,
- per_balance_load
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- }
-
- // Use default "LeastLoaded" properties.
- ACE_NEW_THROW_EX (this->least_loaded_,
- TAO_LB_LeastLoaded (critical_threshold,
- reject_threshold,
- tolerance,
- dampening,
- per_balance_load),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK;
- }
- }
-}
-
-void
-TAO_LB_LoadManager::extract_float_property (
- const PortableGroup::Property & property,
- CORBA::Float & value
- ACE_ENV_ARG_DECL)
-{
- if (!(property.val >>= value))
- ACE_THROW (PortableGroup::InvalidProperty (property.nam,
- property.val));
-}
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp
deleted file mode 100644
index a81e3371a32..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// -*- C++ -*-
-
-#include "LB_Random.h"
-
-ACE_RCSID (LoadBalancing,
- LB_Random,
- "$Id$")
-
-TAO_LB_Random::TAO_LB_Random (void)
-{
- // Seed the random number generator with the current time.
- ACE_OS::srand (ACE_static_cast (unsigned int, ACE_OS::time ()));
-}
-
-char *
-TAO_LB_Random::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup ("Random");
-}
-
-CosLoadBalancing::Properties *
-TAO_LB_Random::get_properties (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CosLoadBalancing::Properties * props = 0;
- ACE_NEW_THROW_EX (props,
- CosLoadBalancing::Properties,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (props);
-
- return props;
-}
-
-void
-TAO_LB_Random::push_loads (
- const PortableGroup::Location & /* the_location */,
- const CosLoadBalancing::LoadList & /* loads */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::StrategyNotAdaptive))
-{
- ACE_THROW (CosLoadBalancing::StrategyNotAdaptive ());
-}
-
-CORBA::Object_ptr
-TAO_LB_Random::next_member (
- PortableGroup::ObjectGroup_ptr object_group,
- CosLoadBalancing::LoadManager_ptr load_manager
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberNotFound))
-{
- PortableGroup::Locations_var locations =
- load_manager->locations_of_members (object_group
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- const CORBA::ULong len = locations->length ();
- if (len == 0)
- ACE_THROW_RETURN (CORBA::TRANSIENT (),
- CORBA::Object::_nil ());
-
- // Pick a random location in the sequence using the higher order
- // bits (zero based indexing).
- //
- // See Numerical Recipes in C: The Art of Scientific Computing
- // (William H. Press, Brian P. Flannery, Saul A. Teukolsky,
- // William T. Vetterling; New York: Cambridge University Press,
- // 1992 (2nd ed., p. 277)) for details on why using the lower order
- // bits, as in (rand() % 10), is bad. In particular, the lower
- // order bits in older rand() implementations may not be as random
- // as the higher order bits.
- //
- // @todo It would be better to use the random() function since it
- // is supposed to have a larger period than rand(), in
- // addition to the fact that the lower order bits should be as
- // random as the higher order bits.
-
- const CORBA::Float flen = len; // Prevent integer arithmetic
- // overflow.
- const CORBA::ULong i =
- ACE_static_cast (CORBA::ULong,
- flen * ACE_OS::rand () / (RAND_MAX + 1.0));
-
- ACE_ASSERT (i < len);
-
-// ACE_DEBUG ((LM_DEBUG,
-// "** Len = %u\t"
-// "Location # %u\t"
-// "Loc Name = \"%s\"\n",
-// len,
-// i,
-// locations[i][0].id.in ()));
-
- return load_manager->get_member_ref (object_group,
- locations[i]
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_LB_Random::analyze_loads (
- PortableGroup::ObjectGroup_ptr /* object_group */,
- CosLoadBalancing::LoadManager_ptr /* load_manager */
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-}
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h
deleted file mode 100644
index f927a277764..00000000000
--- a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_Random.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file LB_Random.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef LB_RANDOM_H
-#define LB_RANDOM_H
-
-#include "ace/pre.h"
-
-#include "orbsvcs/CosLoadBalancingC.h"
-
-# if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-# endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/**
- * @class TAO_LB_Random
- *
- * @brief "Random" load balancing strategy
- *
- * This load balancing strategy is designed to select an object group
- * member residing at a random location.
- */
-class TAO_LB_Random
- : public virtual CosLoadBalancing::Strategy,
- public virtual CORBA::LocalObject
-{
-public:
-
- /// Constructor.
- /**
- * Seeds the OS' random number generator.
- */
- TAO_LB_Random (void);
-
- /**
- * @name CosLoadBalancing::Strategy methods
- *
- * Methods required by the CosLoadBalancing::Strategy interface.
- */
- //@{
- virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CosLoadBalancing::Properties * get_properties (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void push_loads (
- const PortableGroup::Location & the_location,
- const CosLoadBalancing::LoadList & loads
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosLoadBalancing::StrategyNotAdaptive));
-
- virtual CORBA::Object_ptr next_member (
- PortableGroup::ObjectGroup_ptr object_group,
- CosLoadBalancing::LoadManager_ptr load_manager
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableGroup::ObjectGroupNotFound,
- PortableGroup::MemberNotFound));
-
- virtual void analyze_loads (
- PortableGroup::ObjectGroup_ptr object_group,
- CosLoadBalancing::LoadManager_ptr load_manager
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- //@}
-
-};
-
-
-#include "ace/post.h"
-
-#endif /* LB_RANDOM_H */
diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h b/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h
deleted file mode 100644
index 797edf90760..00000000000
--- a/TAO/orbsvcs/orbsvcs/Log/NotifyLogNotification.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* -*- C++ -*- */
-
-//=============================================================================
-/**
- * @file NotifyLogNotification.h
- *
- * $Id$
- *
- * Methods to enable log-generated events.
- *
- *
- * @author D A Hanvey <d.hanvey@qub.ac.uk>
- *
- *
- */
-//=============================================================================
-
-#ifndef TLS_NOTIFY_LOG_NOTIFICATION_H
-#define TLS_NOTIFY_LOG_NOTIFICATION_H
-#include "ace/pre.h"
-
-#include "orbsvcs/DsNotifyLogAdminS.h"
-#include "orbsvcs/Notify/Notify_EventChannelFactory_i.h"
-#include "orbsvcs/Notify/Notify_EventChannel_i.h"
-#include "orbsvcs/CosEventCommS.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-#include "orbsvcs/CosNotifyCommC.h"
-#include "orbsvcs/CosNamingC.h"
-
-#include "notifylog_export.h"
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-
-class TAO_NotifyLog_Export NotifyLogNotification : public LogNotification,
- public POA_CosNotifyComm::PushSupplier, public PortableServer::RefCountServantBase
-{
- // = TITLE
- // Used to forward log generated events to a logging server
- //
- // = DESCRIPTION
- // This implementation attempts to conform to the telecom
- // logging specification.
-
-public:
- // = Initialization and Termination
- NotifyLogNotification (CosNotifyChannelAdmin::EventChannel_ptr);
- // Constructor.
-
- ~NotifyLogNotification (void);
- // Destructor.
-
-protected:
- // = Helper methods
- // = Data members
- CosNotifyChannelAdmin::ProxyPushConsumer_var proxy_consumer_;
- // The proxy that we are connected to.
-
- CosNotifyChannelAdmin::ProxyID proxy_consumer_id_;
- // This supplier's id.
-
- // = NotifySubscribe
- virtual void subscription_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
- // = StructuredPushSupplier method
- virtual void disconnect_push_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void send_notification (const CORBA::Any& any)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- // Send the event on the event channel.
-
-
-private:
- CORBA::ORB_var orb_;
-
- CosNotifyChannelAdmin::EventChannel_var event_channel_;
-};
-#include "ace/post.h"
-#endif /* TLS_NOTIFY_LOG_NOTIFICATION_H */
diff --git a/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h b/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h
deleted file mode 100644
index 80318c9d507..00000000000
--- a/TAO/orbsvcs/orbsvcs/Log/NotifyLog_i.h
+++ /dev/null
@@ -1,284 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file NotifyLog_i.h
- *
- * $Id$
- *
- * Implementation of the DsNotifyLogAdmin::NotifyLog interface.
- *
- *
- * @author David A. Hanvey <d.hanvey@qub.ac.uk>
- */
-//=============================================================================
-
-#ifndef TLS_NOTIFYLOG_I_H
-#define TLS_NOTIFYLOG_I_H
-
-#include "orbsvcs/DsLogAdminS.h"
-#include "orbsvcs/DsNotifyLogAdminS.h"
-#include "orbsvcs/Log/Log_i.h"
-#include "orbsvcs/Notify/Notify_EventChannel_i.h"
-
-#include "notifylog_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-class LogMgr_i;
-class NotifyLog_i;
-class NotifyLogFactory_i;
-
-// Bug in MSVC 5, See KB article Q167350
-#if defined (_MSC_VER) && (_MSC_VER == 1100)
-using DsLogAdmin::wrap;
-#endif /* (_MSC_VER) && (_MSC_VER == 1100) */
-
-class TAO_Notify_LogConsumer : public virtual POA_CosNotifyComm::StructuredPushConsumer,
- public PortableServer::RefCountServantBase
-{
-public:
- TAO_Notify_LogConsumer (NotifyLog_i *log);
-
- void connect (CosNotifyChannelAdmin::ConsumerAdmin_ptr consumer_admin ACE_ENV_ARG_DECL);
-
- virtual void disconnect (ACE_ENV_SINGLE_ARG_DECL);
-
-protected:
- virtual ~TAO_Notify_LogConsumer (void);
-
- // = NotifyPublish method
- virtual void offer_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
- // = StructuredPushSupplier methods
- virtual void push_structured_event (
- const CosNotification::StructuredEvent & notification
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ));
-
- virtual void disconnect_structured_push_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::StructuredProxyPushSupplier_var proxy_supplier_;
-
- CosNotifyChannelAdmin::ProxyID proxy_supplier_id_;
-
- NotifyLog_i *log_;
-};
-
-class NotifyLog_i : public Log_i,
- public POA_DsNotifyLogAdmin::NotifyLog,
- public virtual PortableServer::RefCountServantBase
-{
- // = TITLE
- // EventLog_i
- // = DESCRIPTION
- // The class supports the <destroy> method to destroy the Log.
- //
-public:
- // = Initialization and Termination.
- NotifyLog_i (LogMgr_i &logmgr_i,
- DsLogAdmin::LogMgr_ptr factory,
- NotifyLogFactory_i *notify_log_factory,
- CosNotifyChannelAdmin::EventChannelFactory_ptr ecf,
- LogNotification *log_notifier,
- DsLogAdmin::LogId id,
- DsLogAdmin::LogFullActionType log_full_action = DsLogAdmin::wrap,
- CORBA::ULongLong max_size = 0,
- ACE_Reactor *reactor = ACE_Reactor::instance ());
- // Constructor
-
- ~NotifyLog_i ();
- // Destructor.
-
- virtual DsLogAdmin::Log_ptr copy (DsLogAdmin::LogId &id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual DsLogAdmin::Log_ptr copy_with_id (DsLogAdmin::LogId id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- void
- destroy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- // Destroy the log object and all contained records.
-
- void
- activate (ACE_ENV_SINGLE_ARG_DECL);
-
- //IDL to C++
- CosNotifyFilter::Filter_ptr
- get_filter (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- void set_filter (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::EventChannelFactory_ptr
- MyFactory (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::ConsumerAdmin_ptr
- default_consumer_admin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::SupplierAdmin_ptr
- default_supplier_admin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyFilter::FilterFactory_ptr
- default_filter_factory (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::ConsumerAdmin_ptr
- new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op,
- CosNotifyChannelAdmin::AdminID& id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::SupplierAdmin_ptr
- new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op,
- CosNotifyChannelAdmin::AdminID& id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::ConsumerAdmin_ptr
- get_consumeradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CosNotifyChannelAdmin::AdminNotFound,
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::SupplierAdmin_ptr
- get_supplieradmin (CosNotifyChannelAdmin::AdminID id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CosNotifyChannelAdmin::AdminNotFound,
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::AdminIDSeq*
- get_all_consumeradmins (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotifyChannelAdmin::AdminIDSeq*
- get_all_supplieradmins (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosNotification::AdminProperties*
- get_admin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- void set_admin (const CosNotification::AdminProperties& admin ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CosNotification::UnsupportedAdmin,
- CORBA::SystemException
- ));
-
- CosNotification::QoSProperties*
- get_qos (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- void set_qos (const CosNotification::QoSProperties& ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CosNotification::UnsupportedQoS,
- CORBA::SystemException
- ));
-
- void validate_qos (const CosNotification::QoSProperties&,
- CosNotification::NamedPropertyRangeSeq_out ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CosNotification::UnsupportedQoS,
- CORBA::SystemException
- ));
-
- CosEventChannelAdmin::ConsumerAdmin_ptr
- for_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- CosEventChannelAdmin::SupplierAdmin_ptr
- for_suppliers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- void write_recordlist (const DsLogAdmin::RecordList & list
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- DsLogAdmin::LogFull,
- DsLogAdmin::LogLocked
- ));
-
-protected:
- LogMgr_i &logmgr_i_;
- // Used to access the hash map that holds all the Logs created.
-
-private:
- TAO_Notify_LogConsumer *my_log_consumer_;
-
- CosNotifyChannelAdmin::EventChannel_var event_channel_;
-
- CosNotifyChannelAdmin::ChannelID channelID_;
-
- CosNotifyChannelAdmin::EventChannelFactory_var notify_factory_;
-
- CosNotifyChannelAdmin::ConsumerAdmin_var consumer_admin_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#endif /* TLS_NOTIFYLOG_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp
deleted file mode 100644
index 727cd0d066a..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// $Id$
-
-#include "Notify_AdminProperties.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Notify_AdminProperties.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Notify, Notify_AdminProperties, "$Id$")
-
-TAO_Notify_AdminProperties::TAO_Notify_AdminProperties (void)
- : max_queue_length_ (0),
- max_consumers_ (0),
- max_suppliers_ (0),
- reject_new_events_ (0)
-{
-}
-
-TAO_Notify_AdminProperties::~TAO_Notify_AdminProperties ()
-{
-}
-
-CosNotification::AdminProperties*
-TAO_Notify_AdminProperties::get_admin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- CORBA::Long property_count = 4; //The spec has 4 properties, so far.
-
- CosNotification::AdminProperties_var admin;
-
- ACE_NEW_THROW_EX (admin,
- CosNotification::AdminProperties (property_count),
- CORBA::NO_MEMORY ());
- admin->length (property_count);
-
- (*admin)[0].name =
- CORBA::string_dup (CosNotification::MaxQueueLength);
- (*admin)[0].value <<= (CORBA::Long)max_queue_length_;
-
- (*admin)[1].name =
- CORBA::string_dup (CosNotification::MaxConsumers);
- (*admin)[1].value <<= (CORBA::Long)max_consumers_;
-
- (*admin)[2].name =
- CORBA::string_dup (CosNotification::MaxSuppliers);
- (*admin)[2].value <<= (CORBA::Long)max_suppliers_;
-
- (*admin)[3].name =
- CORBA::string_dup (CosNotification::RejectNewEvents);
- (*admin)[3].value <<= CORBA::Any::from_boolean (this->reject_new_events_);
-
- return admin._retn ();
-}
-
-void
-TAO_Notify_AdminProperties::set_admin (const CosNotification::AdminProperties & admin ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedAdmin
- ))
-{
- for (CORBA::ULong i = 0; i < admin.length (); ++i)
- {
- if (ACE_OS::strcmp (admin[i].name,
- CosNotification::MaxQueueLength) == 0)
- {
- admin[i].value >>= max_queue_length_;
- }
- else if (ACE_OS::strcmp (admin[i].name,
- CosNotification::MaxSuppliers) == 0)
- {
- admin[i].value >>= this->max_suppliers_;
- }
- else if (ACE_OS::strcmp (admin[i].name,
- CosNotification::MaxConsumers) == 0)
- {
- admin[i].value >>= this->max_consumers_;
- }
- else if (ACE_OS::strcmp (admin[i].name,
- CosNotification::RejectNewEvents) == 0)
- {
- admin[i].value >>= CORBA::Any::to_boolean (this->reject_new_events_);
- }
- else
- ACE_THROW (CosNotification::UnsupportedAdmin ());
- }
-}
-
-CORBA::Boolean
-TAO_Notify_AdminProperties::queue_full (void)
-{
- if (this->max_queue_length () == 0)
- return 0;
- else
- if (this->queue_length ()->value () > this->max_queue_length ())
- return 1;
-
- return 0;
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Atomic_Op<TAO_SYNCH_MUTEX,int>;
-template class ACE_Atomic_Op_Ex<TAO_SYNCH_MUTEX,int>;
-template class TAO_Notify_Signal_Property<TAO_SYNCH_MUTEX,int>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Atomic_Op<TAO_SYNCH_MUTEX,int>
-#pragma instantiate ACE_Atomic_Op_Ex<TAO_SYNCH_MUTEX,int>
-#pragma instantiate TAO_Notify_Signal_Property<TAO_SYNCH_MUTEX,int>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h
deleted file mode 100644
index 52474c23e27..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_AdminProperties.h
- *
- * $Id$
- *
- * Implements get/set methods for EC Admin properties.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_ADMINPROPERTIES_H
-#define TAO_NOTIFY_ADMINPROPERTIES_H
-
-#include "ace/pre.h"
-#include "orbsvcs/CosNotificationC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_Listeners.h"
-#include "notify_export.h"
-#include "Notify_Signal_Property_T.h"
-
-
-typedef ACE_Atomic_Op <TAO_SYNCH_MUTEX,CORBA::Long> TAO_Notify_Property_Long;
-typedef TAO_Notify_Signal_Property <TAO_SYNCH_MUTEX,CORBA::Long> TAO_Notify_Signal_Property_Long;
-
-/**
- * @class TAO_Notify_AdminProperties
- *
- * @brief TAO_Notify_AdminProperties
- *
- * All the EC Admin properties are get/set via this class.
- */
-class TAO_Notify_Export TAO_Notify_AdminProperties
-{
-public:
- TAO_Notify_AdminProperties (void);
- virtual ~TAO_Notify_AdminProperties ();
-
- virtual CosNotification::AdminProperties * get_admin (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void set_admin (
- const CosNotification::AdminProperties & admin
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedAdmin
- ));
-
- // = Accessors
- // There was no reason for these not to be const
- CORBA::Long max_queue_length (void) const;
- CORBA::Long max_consumers (void) const;
- CORBA::Long max_suppliers (void) const;
- CORBA::Boolean reject_new_events (void) const;
-
- TAO_Notify_Signal_Property_Long* queue_length (void);
- TAO_Notify_Property_Long* consumers (void);
- TAO_Notify_Property_Long* suppliers (void);
-
- // = Helper method
- /// Returns true if Queue is full
- CORBA::Boolean queue_full (void);
-
-protected:
- // @@ Pradeep can you explain why there is any maximum for these
- // values? Should they be configurable by the user so the resource
- // requirements can be bounded?
-
- // = Admin. properties
- // for all these properties the default O implies no limit
- /**
- * The maximum number of events that will be queued by the channel before
- * the channel begins discarding events or rejecting new events upon
- * receipt of each new event.
- */
- CORBA::Long max_queue_length_;
-
- /// The maximum number of consumers that can be connected to the channel at
- /// any given time.
- CORBA::Long max_consumers_;
-
- /// The maximum number of suppliers that can be connected to the channel at
- /// any given time.
- CORBA::Long max_suppliers_;
-
- /// Reject any new event.
- CORBA::Boolean reject_new_events_;
-
- //= Variables
- /// This is used to count the queue length across all buffers in the Notify Service
- /// to enforce the "MaxQueueLength" property.
- TAO_Notify_Signal_Property_Long queue_length_;
-
- /// These are used to count the number of consumers and suppliers connected to
- /// the system.
- TAO_Notify_Property_Long consumers_;
- TAO_Notify_Property_Long suppliers_;
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "Notify_AdminProperties.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_ADMINPROPERTIES_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i b/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i
deleted file mode 100644
index 5ff900bd5f3..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i
+++ /dev/null
@@ -1,45 +0,0 @@
-// $Id$
-
-#include "Notify_AdminProperties.h"
-
-ACE_INLINE CORBA::Long
-TAO_Notify_AdminProperties::max_queue_length (void) const
-{
- return this->max_queue_length_;
-}
-
-ACE_INLINE CORBA::Long
-TAO_Notify_AdminProperties::max_consumers (void) const
-{
- return this->max_consumers_;
-}
-
-ACE_INLINE CORBA::Long
-TAO_Notify_AdminProperties::max_suppliers (void) const
-{
- return this->max_suppliers_;
-}
-
-ACE_INLINE CORBA::Boolean
-TAO_Notify_AdminProperties::reject_new_events (void) const
-{
- return this->reject_new_events_;
-}
-
-ACE_INLINE TAO_Notify_Signal_Property_Long*
-TAO_Notify_AdminProperties::queue_length (void)
-{
- return &(this->queue_length_);
-}
-
-ACE_INLINE TAO_Notify_Property_Long*
-TAO_Notify_AdminProperties::consumers (void)
-{
- return &(this->consumers_);
-}
-
-ACE_INLINE TAO_Notify_Property_Long*
-TAO_Notify_AdminProperties::suppliers (void)
-{
- return &(this->suppliers_);
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp
deleted file mode 100644
index 16db407d876..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-// $Id$
-
-#include "Notify_Buffering_Strategy.h"
-#include "Notify_Command.h"
-
-#include "orbsvcs/CosNotificationC.h"
-
-#include "tao/debug.h"
-
-ACE_RCSID(Notify, Notify_Buffering_Strategy, "$Id$")
-
-TAO_Notify_Buffering_Strategy::TAO_Notify_Buffering_Strategy (
- TAO_Notify_Signal_Property_Long* const queue_length)
- : queue_length_ (queue_length),
- max_queue_length_ (0),
- max_events_per_consumer_ (0),
- order_policy_ (CosNotification::AnyOrder),
- discard_policy_ (CosNotification::AnyOrder),
- use_max_queue_ (0),
- blocking_timeout_ (0),
- use_blocking_timeout_ (0)
-{
-}
-
-TAO_Notify_Buffering_Strategy::~TAO_Notify_Buffering_Strategy ()
-{
-}
-
-void
-TAO_Notify_Buffering_Strategy::execute (ACE_Message_Queue<ACE_SYNCH>* msg_queue, TAO_Notify_Command *mb ACE_ENV_ARG_DECL_NOT_USED /*ACE_ENV_SINGLE_ARG_PARAMETER*/, ACE_Time_Value *tv)
-{
- // use_max_queue_ may be set to 0. If max_events_per_consumer_ is
- // 0, then we are going to use the maximum queue length regardless.
- if (this->max_events_per_consumer_ == 0)
- this->use_max_queue_ = 1;
-
- if (TAO_debug_level > 0)
- {
- if (this->use_max_queue_)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - Enqueing command "
- "priority %d, queue_length = %d, max queue"
- " length = %d\n",
- mb->priority (), this->queue_length_->value (),
- this->max_queue_length_));
- else
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - Enqueing command "
- "priority %d, queue_length = %d, max events"
- " per consumer = %d\n",
- mb->priority (), this->queue_length_->value (),
- this->max_events_per_consumer_));
- }
-
- int result = 0;
-
- // If we decide to use_max_queue_ and max_queue_length_ is not 0 and
- // the queue_length_ is more than max_queue_length_.
- // Or if we did not decide to use_max_queue_ and max_events_per_consumer_
- // and queue_length_ is more than max_events_per_consumer_.
- CORBA::Long current = this->queue_length_->value ();
- if ((this->use_max_queue_ && this->max_queue_length_ != 0 &&
- current > this->max_queue_length_) ||
- (!this->use_max_queue_ && this->max_events_per_consumer_ != 0 &&
- current > this->max_events_per_consumer_))
- {
- if (this->use_blocking_timeout_)
- {
-
- // I am multiplying blocking_timeout_ by 1 because it is a
- // CORBA::ULongLong, which on some platforms doesn't automatically
- // convert to the long that the ACE_Time_Value expects. The /
- // operator returns a 32-bit integer.
- ACE_Time_Value absolute;
-
- if (this->blocking_timeout_ != 0)
- {
- absolute = ACE_OS::gettimeofday () +
-# if defined (ACE_CONFIG_WIN32_H)
- ACE_Time_Value (
- ACE_static_cast (long,
- this->blocking_timeout_));
-# else
- ACE_Time_Value (this->blocking_timeout_ / 1);
-# endif /* ACE_CONFIG_WIN32_H */
-
- }
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- "Notify (%P|%t) - Blocking\n"));
-
- if (this->queue_length_->wait_for_change (&absolute) == -1)
- {
- // We timed out waiting for the queue length to change
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "Timed out blocking on the client\n"));
- return;
- }
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- "Notify (%P|%t) - Resuming\n"));
- }
- else
- {
- if (TAO_debug_level > 0)
- {
- if (this->use_max_queue_)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - max queue length "
- "reached, discarding event with "
- "policy %d\n",
- this->discard_policy_));
- else
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - max events per "
- "consumer reached, discarding event "
- "with policy %d\n",
- this->discard_policy_));
- }
-
- if (this->discard_policy_ == CosNotification::AnyOrder ||
- this->discard_policy_ == CosNotification::FifoOrder)
- {
- ACE_Message_Block *first_item;
- result = msg_queue->dequeue_head (first_item, tv);
- }
- else if (this->discard_policy_ == CosNotification::LifoOrder)
- {
- ACE_Message_Block *last_item;
- result = msg_queue->dequeue_tail (last_item, tv);
- }
- else if (this->discard_policy_ == CosNotification::DeadlineOrder)
- {
- ACE_Message_Block *dequeued_item;
- result = msg_queue->dequeue_deadline (dequeued_item, tv);
- }
- else if (this->discard_policy_ == CosNotification::PriorityOrder)
- {
- ACE_Message_Block *dequeued_item;
- result = msg_queue->dequeue_prio (dequeued_item, tv);
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "Invalid discard policy\n"));
- result = -1;
- }
-
- if (result == -1) // we could not dequeue successfully.
- {
- return; // behave as if we discarded this event.
- }
- else
- {
- // decrement the global count of events since we successfully
- // dequeued an item from the message queue.
- (*this->queue_length_)--;
- }
- }
- }
-
- // Queue according to order policy
- if (this->order_policy_ == CosNotification::AnyOrder ||
- this->order_policy_ == CosNotification::FifoOrder)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "enqueue in fifo order\n"));
- // Insert at the end of the queue.
- result = msg_queue->enqueue_tail (mb, tv);
- }
- else if (this->order_policy_ == CosNotification::PriorityOrder)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "enqueue in priority order\n"));
- result = msg_queue->enqueue_prio (mb, tv);
- }
- else if (this->order_policy_ == CosNotification::DeadlineOrder)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "enqueue in deadline order\n"));
- result = msg_queue->enqueue_deadline (mb, tv);
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - Invalid order policy\n"));
- result = -1;
- }
-
- if (result == -1) // we could not enqueue successfully
- {
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "Panic! failed to enqueue event"));
- // behave as if we discarded this event.
- }
- else
- {
- // increment the global count of events.
- (*this->queue_length_)++;
- }
-}
-
-void
-TAO_Notify_Buffering_Strategy::max_queue_length (CORBA::Long max_queue_length)
-{
- this->max_queue_length_ = max_queue_length;
-}
-
-void
-TAO_Notify_Buffering_Strategy::max_events_per_consumer (CORBA::Long max_events_per_consumer)
-{
- this->max_events_per_consumer_ = max_events_per_consumer;
-}
-
-void
-TAO_Notify_Buffering_Strategy::order_policy (CORBA::Short order_policy)
-{
- this->order_policy_ = order_policy;
-}
-
-void
-TAO_Notify_Buffering_Strategy::discard_policy (CORBA::Short discard_policy)
-{
- this->discard_policy_ = discard_policy;
-}
-
-void
-TAO_Notify_Buffering_Strategy::blocking_timeout (TimeBase::TimeT timeout)
-{
- this->blocking_timeout_ = timeout;
- this->use_blocking_timeout_ = 1;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h
deleted file mode 100644
index 1d6fb5c048d..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Buffering_Strategy.h
- *
- * $Id$
- *
- * A Strategy class that buffers command objects in a message queue.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_BUFFERING_STRATEGY_H
-#define TAO_NOTIFY_BUFFERING_STRATEGY_H
-
-#include "ace/pre.h"
-#include "tao/corba.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_AdminProperties.h"
-#include "orbsvcs/TimeBaseC.h"
-
-#include "ace/Message_Queue.h"
-#include "ace/Synch.h"
-
-class TAO_Notify_Command;
-
-/**
- * @class TAO_Notify_Buffering_Strategy
- *
- * @brief TAO_Notify_Buffering_Strategy
- *
- * This buffering strategy buffers and discards events according to the
- * policies specified in the CosNotification.idl
- */
-class TAO_Notify_Export TAO_Notify_Buffering_Strategy
-{
-public:
- TAO_Notify_Buffering_Strategy (TAO_Notify_Signal_Property_Long* const queue_length);
-
- virtual ~TAO_Notify_Buffering_Strategy ();
-
- /// Execute this strategy.
- virtual void execute (ACE_Message_Queue<ACE_SYNCH>* msg_queue, TAO_Notify_Command *mb ACE_ENV_ARG_DECL, ACE_Time_Value *tv);
-
- /// Set the max. queue length.
- void max_queue_length (CORBA::Long max_queue_length);
-
- /// Set the max. events per consumer.
- void max_events_per_consumer (CORBA::Long max_events_per_consumer);
-
- /// Set the order policy.
- void order_policy (CORBA::Short order_policy);
-
- /// Set the discard policy.
- void discard_policy (CORBA::Short discard_policy);
-
- /// Set the blocking timeout.
- void blocking_timeout (TimeBase::TimeT timeout);
-
-protected:
- /// The overall queue length.
- TAO_Notify_Signal_Property_Long* const queue_length_;
-
- /// Discarding policies kicks in when the <queue_length_> exceeds <max_queue_length_>
- CORBA::Long max_queue_length_;
-
- /// Discarding policies kicks in when the <queue_length_> exceeds <max_events_per_consumer_>
- CORBA::Long max_events_per_consumer_;
-
- /// Order of events in internal buffers.
- CORBA::Short order_policy_;
-
- /// Policy to discard when buffers are full.
- CORBA::Short discard_policy_;
-
- /// Should we use the max queue or max events.
- CORBA::Boolean use_max_queue_;
-
- /// The blocking timeout will be used in place of discarding
- /// if use_blocking_timeout_ is set. This is a TAO specific extension.
- TimeBase::TimeT blocking_timeout_;
- CORBA::Boolean use_blocking_timeout_;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_BUFFERING_STRATEGY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Channel_Objects_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Channel_Objects_Factory.h
deleted file mode 100644
index 9376ea7096e..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Channel_Objects_Factory.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Channel_Objects_Factory.h
- *
- * $Id$
- *
- * Factory for all CosNotify objects defined in the idl files and
- * other related objects.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_CO_FACTORY_H
-#define TAO_NOTIFY_CO_FACTORY_H
-
-#include "ace/pre.h"
-#include "ace/Service_Object.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/corba.h"
-#include "notify_export.h"
-
-class TAO_Notify_EventChannelFactory_i;
-class TAO_Notify_EventChannel_i;
-class TAO_Notify_ConsumerAdmin_i;
-class TAO_Notify_SupplierAdmin_i;
-class TAO_Notify_FilterFactory_i;
-class TAO_Notify_StructuredProxyPushSupplier_i;
-class TAO_Notify_SequenceProxyPushSupplier_i;
-class TAO_Notify_ProxyPushSupplier_i;
-class TAO_Notify_StructuredProxyPushConsumer_i;
-class TAO_Notify_SequenceProxyPushConsumer_i;
-class TAO_Notify_ProxyPushConsumer_i;
-class ACE_Lock;
-
-// @@ Pradeep: I'm not sure if I like the name of this class (and the
-// name of the file is mismatched).... In any case, you need a better
-// description here. I don't see any destroy methods: what if the
-// objects are allocated from a free list, or from shared memory or
-// something like that?
- /**
- * @class TAO_Notify_CO_Factory
- *
- * @brief TAO_Notify_CO_Factory
- *
- * Factory for channel objects.
- */
-class TAO_Notify_Export TAO_Notify_CO_Factory : public ACE_Service_Object
-{
- public:
- // = Creation methods
- /// Create an Event Channel.
- virtual TAO_Notify_EventChannel_i* create_event_channel (TAO_Notify_EventChannelFactory_i* parent ACE_ENV_ARG_DECL)=0;
-
- /// Create a Consumer Admin.
- virtual TAO_Notify_ConsumerAdmin_i* create_consumer_admin (TAO_Notify_EventChannel_i* channel ACE_ENV_ARG_DECL)=0;
-
- /// Create a Supplier Admin.
- virtual TAO_Notify_SupplierAdmin_i* create_supplier_admin (TAO_Notify_EventChannel_i* channel ACE_ENV_ARG_DECL)=0;
-
- /// Create the Filter Factory.
- virtual TAO_Notify_FilterFactory_i* create_filter_factory (ACE_ENV_SINGLE_ARG_DECL)=0;
-
- // = Proxy Creation methods.
- /// Create a Structured ProxyPushSupplier.
- virtual TAO_Notify_StructuredProxyPushSupplier_i* create_struct_proxy_pushsupplier (TAO_Notify_ConsumerAdmin_i* parent ACE_ENV_ARG_DECL)=0;
-
- /// Create a Sequence ProxyPushSupplier.
- virtual TAO_Notify_SequenceProxyPushSupplier_i* create_seq_proxy_pushsupplier (TAO_Notify_ConsumerAdmin_i* parent ACE_ENV_ARG_DECL)=0;
-
- /// Create a ProxyPushSupplier.
- virtual TAO_Notify_ProxyPushSupplier_i* create_proxy_pushsupplier (TAO_Notify_ConsumerAdmin_i* parent ACE_ENV_ARG_DECL)=0;
-
- /// Create a Structured ProxyPushConsumer.
- virtual TAO_Notify_StructuredProxyPushConsumer_i* create_struct_proxy_pushconsumer (TAO_Notify_SupplierAdmin_i* parent ACE_ENV_ARG_DECL)=0;
-
- /// Create a Sequence ProxyPushConsumer.
- virtual TAO_Notify_SequenceProxyPushConsumer_i* create_seq_proxy_pushconsumer (TAO_Notify_SupplierAdmin_i* parent ACE_ENV_ARG_DECL)=0;
-
- /// Create a ProxyPushConsumer.
- virtual TAO_Notify_ProxyPushConsumer_i* create_proxy_pushconsumer (TAO_Notify_SupplierAdmin_i* parent ACE_ENV_ARG_DECL)=0;
-
- //= Locks
- // = Methods to create locks.
- /// Create lock type used by channel factory.
- virtual ACE_Lock* create_channel_factory_lock (ACE_ENV_SINGLE_ARG_DECL)=0;
-
- /// Create lock type used by EC's.
- virtual ACE_Lock* create_event_channel_lock (ACE_ENV_SINGLE_ARG_DECL)=0;
-
- /// Create lock type used by Consumer Admin's.
- virtual ACE_Lock* create_consumer_admin_lock (ACE_ENV_SINGLE_ARG_DECL)=0;
-
- /// Create lock type used by Supplier Admin's.
- virtual ACE_Lock* create_supplier_admin_lock (ACE_ENV_SINGLE_ARG_DECL)=0;
-
- /// Create lock type used by proxy supplier.
- virtual ACE_Lock* create_proxy_supplier_lock (ACE_ENV_SINGLE_ARG_DECL)=0;
-
- /// Create lock type used by proxy consumer.
- virtual ACE_Lock* create_proxy_consumer_lock (ACE_ENV_SINGLE_ARG_DECL)=0;
-};
-
-#include "ace/post.h"
-
-#endif /* TAO_NOTIFY_CO_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.cpp
deleted file mode 100644
index c982a30a01b..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-// $Id$
-
-#include "Notify_Collection.h"
-//#include "Notify_Event.h"
-#include "Notify_Listeners.h"
-#include "tao/debug.h"
-
-ACE_RCSID(Notify, Notify_Collection, "$Id$")
-
-void
-TAO_Notify_EventType_List::preprocess (TAO_Notify_EventType_List& current, TAO_Notify_EventType_List& seq_added, TAO_Notify_EventType_List& seq_removed)
-{
- #if 0
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG, " Before preprocess: current = ")); current.dump ();
- ACE_DEBUG ((LM_DEBUG, "\n Before preprocess: seq_added = ")); seq_added.dump ();
- ACE_DEBUG ((LM_DEBUG, "\n Before preprocess: seq_removed = ")); seq_removed.dump ();
- }
-#endif
- TAO_Notify_EventType special = TAO_Notify_EventType::special_event_type ();
-
- if (current.find (special) == 0)
- {
- if (seq_added.find (special) == 0)
- {
- seq_added.reset ();
- seq_removed.reset ();
- }
- else
- {
- current.reset ();
- current.insert_seq (seq_added);
-
- seq_removed.reset ();
- seq_removed.insert (special);
- }
- }
- else
- {
- if (seq_added.find (special) == 0)
- {
- if (seq_removed.find (special) == 0)
- {
- seq_added.reset ();
- seq_removed.reset ();
- }
- else
- {
- seq_removed.reset ();
- seq_removed.insert_seq (current);
-
- current.reset ();
- current.insert (special);
-
- seq_added.reset ();
- seq_added.insert (special);
- }
- }
- else
- {
- if (seq_removed.find (special) == 0)
- {
-
- seq_removed.reset ();
- seq_removed.insert_seq (current);
-
- current.reset ();
- current.insert_seq (seq_added);
- }
- else
- {
- current.insert_seq (seq_added);
- current.remove_seq (seq_removed);
- }
- }
- }
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG, " After preprocess: current = ")); current.dump ();
- ACE_DEBUG ((LM_DEBUG, "\n After preprocess: seq_added = ")); seq_added.dump ();
- ACE_DEBUG ((LM_DEBUG, "\n After preprocess: seq_removed = ")); seq_removed.dump ();
- }
-}
-
-// = TAO_Notify_EventType_List
-void
-TAO_Notify_EventType_List::populate (CosNotification::EventTypeSeq& event_type_seq)
-{
- event_type_seq.length (this->size ());
-
- TAO_Notify_EventType_List::CONST_ITERATOR iter (*this);
-
- TAO_Notify_EventType* event_type;
-
- CORBA::ULong i = 0;
- for (iter.first (); iter.next (event_type); iter.advance (), ++i)
- event_type_seq[i] = event_type->get_native ();
-}
-
-void
-TAO_Notify_EventType_List::insert_seq (const CosNotification::EventTypeSeq& event_type_seq)
-{
- TAO_Notify_EventType event_type;
-
- for (CORBA::ULong i = 0; i < event_type_seq.length (); ++i)
- {
- event_type = event_type_seq[i];
- inherited::insert (event_type);
- }
-}
-
-void
-TAO_Notify_EventType_List::remove_seq (const CosNotification::EventTypeSeq& event_type_seq)
-{
- TAO_Notify_EventType event_type;
-
- for (CORBA::ULong i = 0; i < event_type_seq.length (); ++i)
- {
- event_type = event_type_seq[i];
- inherited::remove (event_type);
- }
-}
-
-void
-TAO_Notify_EventType_List::insert_seq (const TAO_Notify_EventType_List& event_type_seq)
-{
- TAO_Notify_EventType_List::CONST_ITERATOR iter (event_type_seq);
-
- TAO_Notify_EventType* event_type;
-
- for (iter.first (); iter.next (event_type); iter.advance ())
- inherited::insert (*event_type);
-}
-
-void
-TAO_Notify_EventType_List::remove_seq (const TAO_Notify_EventType_List& event_type_seq)
-{
- TAO_Notify_EventType_List::CONST_ITERATOR iter (event_type_seq);
-
- TAO_Notify_EventType* event_type;
-
- for (iter.first (); iter.next (event_type); iter.advance ())
- inherited::remove (*event_type);
-}
-
-/********************************************************************/
-
-TAO_Notify_Shutdown_Worker::TAO_Notify_Shutdown_Worker (void)
-{
-}
-
-void
-TAO_Notify_Shutdown_Worker::work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL)
-{
- listener->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-/********************************************************************/
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Unbounded_Set <TAO_Notify_EventType>;
-template class ACE_Unbounded_Set_Iterator<TAO_Notify_EventType>;
-template class ACE_Unbounded_Set_Const_Iterator<TAO_Notify_EventType>;
-template class ACE_Node<TAO_Notify_EventType>;
-
-template class ACE_Unbounded_Set<TAO_Notify_EventListener*>;
-template class ACE_Unbounded_Set_Iterator<TAO_Notify_EventListener*>;
-template class ACE_Node<TAO_Notify_EventListener*>;
-
-template class ACE_Unbounded_Set<TAO_Notify_UpdateListener*>;
-template class ACE_Unbounded_Set_Iterator<TAO_Notify_UpdateListener*>;
-template class ACE_Node<TAO_Notify_UpdateListener*>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Unbounded_Set<TAO_Notify_EventType>
-#pragma instantiate ACE_Unbounded_Set_Iterator<TAO_Notify_EventType>
-#pragma instantiate ACE_Unbounded_Set_Const_Iterator<TAO_Notify_EventType>
-#pragma instantiate ACE_Node<TAO_Notify_EventType>
-
-#pragma instantiate ACE_Unbounded_Set<TAO_Notify_EventListener*>
-#pragma instantiate ACE_Unbounded_Set_Iterator<TAO_Notify_EventListener*>
-#pragma instantiate ACE_Node<TAO_Notify_EventListener*>
-
-#pragma instantiate ACE_Unbounded_Set<TAO_Notify_UpdateListener*>
-#pragma instantiate ACE_Unbounded_Set_Iterator<TAO_Notify_UpdateListener*>
-#pragma instantiate ACE_Node<TAO_Notify_UpdateListener*>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.h
deleted file mode 100644
index a014d9c3b6c..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection.h
+++ /dev/null
@@ -1,96 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_Collection.h
- *
- * $Id$
- *
- * Collection types used by Notify
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_COLLECTION_H
-#define TAO_NOTIFY_COLLECTION_H
-
-#include "ace/pre.h"
-#include "orbsvcs/CosNotifyCommC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/ESF/ESF_Worker.h"
-#include "notify_export.h"
-#include "Notify_Event.h"
-
-template<class PROXY> class TAO_ESF_Proxy_Collection;
-template<class T> class ACE_Unbounded_Set;
-
-class TAO_Notify_EventListener;
-class TAO_Notify_UpdateListener;
-class TAO_Notify_EventType;
-
-/// A list of event listeners that are looking for the same event type.
-typedef TAO_ESF_Proxy_Collection<TAO_Notify_EventListener> TAO_Notify_EventListener_List;
-
-/// A list of update listeners who want to be notified about publish/subscribe changes.
-typedef TAO_ESF_Proxy_Collection<TAO_Notify_UpdateListener> TAO_Notify_UpdateListener_List;
-
-/**
- * @class TAO_Notify_EventType_List
- *
- * @brief TAO_Notify_EventType_List
- *
- * Allows operations using the CosNotification::EventTypeSeq type.
- */
-class TAO_Notify_Export TAO_Notify_EventType_List : public ACE_Unbounded_Set <TAO_Notify_EventType>
-{
-
- typedef ACE_Unbounded_Set <TAO_Notify_EventType> inherited;
-
-public:
- /// Preprocess lists for subscriptions
- static void preprocess (TAO_Notify_EventType_List& current, TAO_Notify_EventType_List& seq_added, TAO_Notify_EventType_List& seq_removed);
-
- /// Populate <event_type_seq> with the contents of this object.
- void populate (CosNotification::EventTypeSeq& event_type_seq);
-
- /// insert the contents of <event_type_seq> into this object.
- void insert_seq (const CosNotification::EventTypeSeq& event_type_seq);
-
- /// remove the contents of <event_type_seq> from this object.
- void remove_seq (const CosNotification::EventTypeSeq& event_type_seq);
-
- /// insert the contents of <event_type_seq> into this object.
- void insert_seq (const TAO_Notify_EventType_List& event_type_seq);
-
- /// remove the contents of <event_type_seq> from this object.
- void remove_seq (const TAO_Notify_EventType_List& event_type_seq);
-};
-
-// ****************************************************************
-
-// = Collection Iterators.
-
- /**
- * @class TAO_Notify_Shutdown_Worker
- *
- * @brief TAO_Notify_Shutdown_Worker
- *
- * Shutdown each listener
- */
-class TAO_Notify_Export TAO_Notify_Shutdown_Worker : public TAO_ESF_Worker<TAO_Notify_EventListener>
-{
- public:
- TAO_Notify_Shutdown_Worker (void);
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL);
-};
-
-// ****************************************************************
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_COLLECTION_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection_Factory.h
deleted file mode 100644
index 2d06c672fe3..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Collection_Factory.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Collection_Factory.h
- *
- * $Id$
- *
- * A factory fpr the collection types used by Notify.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef NOTIFY_COLLECTION_FACTORY_H
-#define NOTIFY_COLLECTION_FACTORY_H
-
-#include "ace/pre.h"
-#include "ace/Service_Object.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "notify_export.h"
-#include "Notify_Collection.h"
-
-/**
- * @class TAO_Notify_Collection_Factory
- *
- * @brief TAO_Notify_Collection_Factory
- *
- * Collection factory
- */
-class TAO_Notify_Export TAO_Notify_Collection_Factory : public ACE_Service_Object
-{
-public:
- // = Methods to create listener collections.
- /// Create the event listener list.
- virtual TAO_Notify_EventListener_List* create_event_listener_list (ACE_ENV_SINGLE_ARG_DECL) = 0;
-
- /// Create update listener list.
- virtual TAO_Notify_UpdateListener_List* create_update_listener_list (ACE_ENV_SINGLE_ARG_DECL) = 0;
-};
-
-#include "ace/post.h"
-
-#endif /* NOTIFY_COLLECTION_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.cpp
deleted file mode 100644
index d42202b5074..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-// $Id$
-
-#include "Notify_Command.h"
-
-#if !defined (__ACE_INLINE__)
-#include "Notify_Command.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Notify, Notify_Command, "$Id$")
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.h
deleted file mode 100644
index 14d1c5a5e18..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Command.h
- *
- * $Id$
- *
- * Command Object base class used by Notify's Worker Task objects.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_COMMAND_H
-#define TAO_NOTIFY_COMMAND_H
-
-#include "ace/pre.h"
-#include "ace/Message_Block.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/corba.h"
-#include "notify_export.h"
-
-#if !defined (TAO_NOTIFY_COMMAND_PRIORITY_BASE)
-#define TAO_NOTIFY_COMMAND_PRIORITY_BASE 32768
-#endif /* TAO_NOTIFY_COMMAND_PRIORITY_BASE */
-
-class TAO_Notify_Event_Processor;
-class TAO_Notify_Event;
-
- /**
- * @class TAO_Notify_Command
- *
- * @brief TAO_Notify_Command
- *
- * Base class for Command Objects.
- * Command objects are executed by the Notify_Worker_Task.
- */
-class TAO_Notify_Export TAO_Notify_Command : public ACE_Message_Block
-{
- public:
- TAO_Notify_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event);
- ~TAO_Notify_Command ();
-
- /// Command callback
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL) = 0;
-
- virtual CORBA::Short priority (void) const;
-
-protected:
- // = Data Members
- /// The command objects should notify the event processor once they have successfully
- /// executed commands.
- TAO_Notify_Event_Processor* event_processor_;
-
- /// The event that we "execute" this command on.
- TAO_Notify_Event* event_;
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "Notify_Command.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-
-#endif /* TAO_NOTIFY_COMMAND_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.i b/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.i
deleted file mode 100644
index a44544ff9cf..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Command.i
+++ /dev/null
@@ -1,56 +0,0 @@
-//$Id$
-
-#include "Notify_Command.h"
-#include "Notify_Event.h"
-
-ACE_INLINE
-TAO_Notify_Command::TAO_Notify_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event)
- :event_processor_ (event_processor),
- event_ (event)
-{
- // Set the parameters that affect queuing in the message queue.
- // The ACE_Message_Block priorities go from 0 (lowest) to ULONG_MAX
- // (highest), while the Notification Events go from -32767 (lowest,
- // even though CORBA::Short goes to -32768) to 32767 (highest).
- if (this->event_)
- {
- // Convert to CORBA::Long to preserve the sign. Conversion to
- // unsigned long will happen automatically and we do not have to worry
- // about losing the number in the addition since priority () returns a
- // CORBA::Short.
- this->msg_priority ((CORBA::Long)this->event_->priority () +
- TAO_NOTIFY_COMMAND_PRIORITY_BASE);
-
- // The deadline time for the message block is absolute, while the
- // timeout for the event is relative to the time it was received.
- // So, we do a little conversion and set it on the message block (us)
- if (this->event_->timeout () != 0)
- {
- // I am multiplying timeout () by 1 because it returns a
- // CORBA::ULongLong, which on some platforms doesn't automatically
- // convert to the long that the ACE_Time_Value expects. The /
- // operator returns a 32-bit integer.
- ACE_Time_Value current = ACE_OS::gettimeofday () +
-# if defined (ACE_CONFIG_WIN32_H)
- ACE_Time_Value (
- ACE_static_cast (long,
- this->event_->timeout ()));
-# else
- ACE_Time_Value (this->event_->timeout () / 1);
-# endif /* ACE_CONFIG_WIN32_H */
- this->msg_deadline_time (current);
- }
- }
-}
-
-ACE_INLINE
-TAO_Notify_Command::~TAO_Notify_Command ()
-{
-}
-
-ACE_INLINE CORBA::Short
-TAO_Notify_Command::priority (void) const
-{
- return (CORBA::Short)(this->msg_priority () -
- TAO_NOTIFY_COMMAND_PRIORITY_BASE);
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp
deleted file mode 100644
index 70cca1e06f0..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// $Id$
-
-#include "Notify_Constraint_Interpreter.h"
-#include "Notify_Constraint_Visitors.h"
-
-ACE_RCSID(Notify, Notify_Constraint_Interpreter, "$Id$")
-
-TAO_Notify_Constraint_Interpreter::TAO_Notify_Constraint_Interpreter (void)
-{
-}
-
-TAO_Notify_Constraint_Interpreter::~TAO_Notify_Constraint_Interpreter (void)
-{
-}
-
-void
-TAO_Notify_Constraint_Interpreter::build_tree (
- const char *constraints
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CosNotifyFilter::InvalidConstraint,
- CORBA::NO_MEMORY))
-{
- if (TAO_ETCL_Interpreter::is_empty_string (constraints))
- {
- // Root is deleted in the TAO_Interpreter's destructor.
- ACE_NEW_THROW_EX (this->root_,
- TAO_ETCL_Literal_Constraint ((CORBA::Boolean) 1),
- CORBA::NO_MEMORY ());
- ACE_CHECK;
- }
- else
- {
- // root_ is set in this base class call.
- if (TAO_ETCL_Interpreter::build_tree (constraints) != 0)
- ACE_THROW (CosNotifyFilter::InvalidConstraint ());
- }
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Interpreter::evaluate (
- TAO_Notify_Constraint_Visitor &evaluator
- )
-{
- CORBA::Boolean retval =
- evaluator.evaluate_constraint (this->root_);
-
- return retval;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h
deleted file mode 100644
index 2f12529e974..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Constraint_Interpreter.h
- *
- * $Id$
- *
- *
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_CONSTRAINT_INTERPRETER_H
-#define TAO_NOTIFY_CONSTRAINT_INTERPRETER_H
-
-#include "ace/pre.h"
-#include "orbsvcs/ETCL/ETCL_Interpreter.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/ETCL/ETCL_Constraint.h"
-#include "orbsvcs/CosNotifyFilterC.h"
-#include "notify_export.h"
-
-class TAO_Notify_Constraint_Visitor;
-
-/**
- * @class TAO_Notify_Constraint_Interpreter
- *
- * @brief "ETCL" Interpreter for the Notify queries.
- */
-class TAO_Notify_Export TAO_Notify_Constraint_Interpreter
- : public TAO_ETCL_Interpreter
-{
-public:
- // = Initialization and termination methods.
- TAO_Notify_Constraint_Interpreter (void);
-
- /// Destructor
- ~TAO_Notify_Constraint_Interpreter (void);
-
- /**
- * This method builds an expression tree representing the
- * constraint specified in <constraints>, and throws an Illegal
- * Constraint exception if the constraint given has syntax errors or
- * semantic errors, such as mismatched types.
- */
- void build_tree (const char* constraints
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CosNotifyFilter::InvalidConstraint,
- CORBA::NO_MEMORY));
-
- /// Returns true if the constraint is evaluated successfully by
- /// the evaluator.
- CORBA::Boolean evaluate (TAO_Notify_Constraint_Visitor &evaluator);
-};
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_CONSTRAINT_INTERPRETER_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp
deleted file mode 100644
index 49cc40225aa..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp
+++ /dev/null
@@ -1,1564 +0,0 @@
-/* -*- C++ -*- */
-/* $Id$ */
-
-#include "Notify_Constraint_Visitors.h"
-#include "orbsvcs/ETCL/ETCL_Constraint.h"
-#include "orbsvcs/ETCL/ETCL_y.h"
-#include "tao/DynamicAny/DynArray_i.h"
-#include "tao/DynamicAny/DynSequence_i.h"
-#include "tao/DynamicAny/DynStruct_i.h"
-#include "tao/DynamicAny/DynUnion_i.h"
-#include "tao/DynamicAny/DynEnum_i.h"
-#include "tao/DynamicAny/DynAnyFactory.h"
-
-TAO_Notify_Constraint_Visitor::TAO_Notify_Constraint_Visitor (void)
- : implicit_id_ (NONE)
-{
- (void) this->implicit_ids_.bind (ACE_CString ("filterable_data",
- 0,
- 0),
- FILTERABLE_DATA);
- (void) this->implicit_ids_.bind (ACE_CString ("header",
- 0,
- 0),
- HEADER);
- (void) this->implicit_ids_.bind (ACE_CString ("remainder_of_body",
- 0,
- 0),
- REMAINDER_OF_BODY);
- (void) this->implicit_ids_.bind (ACE_CString ("fixed_header",
- 0,
- 0),
- FIXED_HEADER);
- (void) this->implicit_ids_.bind (ACE_CString ("variable_header",
- 0,
- 0),
- VARIABLE_HEADER);
- (void) this->implicit_ids_.bind (ACE_CString ("event_name",
- 0,
- 0),
- EVENT_NAME);
- (void) this->implicit_ids_.bind (ACE_CString ("event_type",
- 0,
- 0),
- EVENT_TYPE);
- (void) this->implicit_ids_.bind (ACE_CString ("domain_name",
- 0,
- 0),
- DOMAIN_NAME);
- (void) this->implicit_ids_.bind (ACE_CString ("type_name",
- 0,
- 0),
- TYPE_NAME);
-}
-
-int
-TAO_Notify_Constraint_Visitor::bind_structured_event (
- const CosNotification::StructuredEvent &s_event
- )
-{
- // The two sequences contained in a structured event are
- // copied into hash tables so iteration is done only once.
-
- CORBA::ULong length = s_event.filterable_data.length ();
- CORBA::ULong index = 0;
-
- for (index = 0; index < length; ++index)
- {
- ACE_CString name_str (s_event.filterable_data[index].name, 0, 0);
-
- int status =
- this->filterable_data_.bind (
- name_str,
- ACE_const_cast (CORBA::Any *,
- &s_event.filterable_data[index].value)
- );
-
- if (status != 0)
- {
- return -1;
- }
- }
-
- length = s_event.header.variable_header.length ();
-
- for (index = 0; index < length; ++index)
- {
- ACE_CString name_str (s_event.header.variable_header[index].name, 0, 0);
-
- int status =
- this->variable_header_.bind (
- name_str,
- ACE_const_cast (CORBA::Any *,
- &s_event.header.variable_header[index].value)
- );
-
- if (status != 0)
- {
- return -1;
- }
- }
-
- this->domain_name_ =
- CORBA::string_dup (s_event.header.fixed_header.event_type.domain_name);
-
- this->type_name_ =
- CORBA::string_dup (s_event.header.fixed_header.event_type.type_name);
-
- this->event_name_ =
- CORBA::string_dup (s_event.header.fixed_header.event_name);
-
- this->remainder_of_body_ = s_event.remainder_of_body;
-
- return 0;
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::evaluate_constraint (
- TAO_ETCL_Constraint* root
- )
-{
- CORBA::Boolean result = 0;
- this->queue_.reset ();
-
- // Evaluate the constraint in root_;
- if (root != 0)
- {
- if ((root->accept (this) == 0) &&
- (! this->queue_.is_empty ()))
- {
- TAO_ETCL_Literal_Constraint top;
- this->queue_.dequeue_head (top);
- result = (CORBA::Boolean) top;
- }
- }
-
- // If a property couldn't be evaluated we must return 0.
- return result;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_literal (
- TAO_ETCL_Literal_Constraint *literal
- )
-{
- this->queue_.enqueue_head (*literal);
- return 0;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_identifier (TAO_ETCL_Identifier *ident)
-{
- int return_value = -1;
- const char *name = ident->value ();
- ACE_CString key (name, 0, 0);
-
- CORBA::Any *any = 0;
-
- if (this->filterable_data_.find (key, any) == 0)
- {
- if (any != 0)
- {
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (any));
- return_value = 0;
- }
- }
-
- return return_value;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_union_value (
- TAO_ETCL_Union_Value *union_value
- )
-{
- switch (union_value->sign ())
- {
- case 0:
- this->queue_.enqueue_head (*union_value->string ());
- break;
- case -1:
- this->queue_.enqueue_head (-(*union_value->integer ()));
- break;
- case 1:
- this->queue_.enqueue_head (*union_value->integer ());
- break;
- default:
- return -1;
- }
-
- return 0;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_union_pos (
- TAO_ETCL_Union_Pos *union_pos
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- if (union_pos->union_value ()->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint disc_val;
- this->queue_.dequeue_head (disc_val);
-
- TAO_DynUnion_i dyn_union;
- dyn_union.init (this->current_value_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::TypeCode_var tc = this->current_value_->type ();
-
- switch (disc_val.expr_type ())
- {
- case TAO_ETCL_INTEGER:
- case TAO_ETCL_SIGNED:
- case TAO_ETCL_UNSIGNED:
- {
- CORBA::Any disc_any;
- CORBA::TypeCode_var disc_tc =
- tc->discriminator_type (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- CORBA::TCKind disc_kind =
- TAO_DynAnyFactory::unalias (disc_tc.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- switch (disc_kind)
- {
- case CORBA::tk_boolean:
- disc_any <<= CORBA::Any::from_boolean ((CORBA::Boolean) disc_val);
- break;
- case CORBA::tk_short:
- disc_any <<= (CORBA::Short) ((CORBA::Long) disc_val);
- break;
- case CORBA::tk_ushort:
- disc_any <<= (CORBA::UShort) ((CORBA::ULong) disc_val);
- break;
- case CORBA::tk_long:
- disc_any <<= (CORBA::Long) disc_val;
- break;
- case CORBA::tk_ulong:
- disc_any <<= (CORBA::ULong) disc_val;
- break;
- case CORBA::tk_enum:
- {
- TAO_OutputCDR cdr;
- cdr.write_ulong ((CORBA::ULong) disc_val);
- disc_any._tao_replace (disc_tc.in (),
- TAO_ENCAP_BYTE_ORDER,
- cdr.begin ());
- break;
- }
- // @@@ (JP) I don't think ETCL handles 64-bit
- // integers at this point, and I also think that
- // chars and/or wchars will just come out in the
- // constraint as (w)strings of length 1.
- case CORBA::tk_longlong:
- case CORBA::tk_ulonglong:
- case CORBA::tk_char:
- case CORBA::tk_wchar:
- default:
- return -1;
- }
-
- DynamicAny::DynAny_var dyn_any =
- TAO_DynAnyFactory::make_dyn_any (disc_any
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- dyn_union.set_discriminator (dyn_any.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- DynamicAny::DynAny_var u_member =
- dyn_union.member (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- this->current_value_ =
- u_member->to_any (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- break;
- }
- case TAO_ETCL_STRING:
- {
- const char *name = (const char *) disc_val;
- CORBA::ULong count =
- tc->member_count (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- const char *member_name = 0;
- CORBA::ULong i = 0;
-
- for (i = 0; i < count; ++i)
- {
- member_name = tc->member_name (i
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (ACE_OS::strcmp (name, member_name) == 0)
- {
- break;
- }
- }
-
- // If there's no match, member_label will throw
- // CORBA::TypeCode::Bounds and the catch block will
- // return -1;
- this->current_value_ = tc->member_label (i
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- break;
- }
- // The TAO_ETCL_Union_Value that was put on the queue
- // shouldn't have any other type.
- default:
- return -1;
- }
-
- TAO_ETCL_Constraint *nested = union_pos->component ();
-
- // If there's no nested component, then we just want the
- // union member value on the queue. Otherwise, we want
- // the member value in current_value_ while we visit
- // the nested component.
- if (nested == 0)
- {
- TAO_ETCL_Literal_Constraint lit (this->current_value_);
- this->queue_.enqueue_head (lit);
- return 0;
- }
- else
- {
- return nested->accept (this);
- }
- }
- else
- {
- return -1;
- }
- }
- ACE_CATCHANY
- {
- return -1;
- }
- ACE_ENDTRY;
-
- ACE_NOTREACHED (return 0);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_component_pos (
- TAO_ETCL_Component_Pos *pos
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- // If we are here (from visit_component) the Any containing the
- // component as found in filterable_data_ will be in current_value_.
- CORBA::TypeCode_var tc = this->current_value_->type ();
- CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::DynAny_var member;
- CORBA::Boolean success = 0;
- CORBA::ULong slot = (CORBA::ULong) *pos->integer ();
-
- switch (kind)
- {
- case CORBA::tk_enum:
- {
- TAO_DynEnum_i dyn_enum;
- dyn_enum.init (this->current_value_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- success = dyn_enum.seek (slot
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (success == 0)
- {
- return -1;
- }
-
- member =
- dyn_enum.current_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- break;
- }
- case CORBA::tk_struct:
- {
- TAO_DynStruct_i dyn_struct;
- dyn_struct.init (this->current_value_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- success = dyn_struct.seek (slot
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (success == 0)
- {
- return -1;
- }
-
- member = dyn_struct.current_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- break;
- }
- // @@@ (JP) I think enums and structs are the only two cases handled
- // by Component_Pos, since arrays and sequences are handled by
- // Component_Array, and unions are handled by Union_Pos.
- default:
- return -1;
- }
-
- CORBA::Any_var value = member->to_any (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- TAO_ETCL_Constraint *comp = pos->component ();
-
- if (comp == 0)
- {
- TAO_ETCL_Literal_Constraint result (value);
- this->queue_.enqueue_head (result);
- return 0;
- }
- else
- {
- this->current_value_ = value._retn ();
- return comp->accept (this);
- }
- }
- ACE_CATCHANY
- {
- return -1;
- }
- ACE_ENDTRY;
-
- ACE_NOTREACHED (return 0);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_component_assoc (
- TAO_ETCL_Component_Assoc *assoc
- )
-{
- CORBA::Any *any = 0;
- ACE_CString name (assoc->identifier ()->value (),
- 0,
- 0);
-
- switch (this->implicit_id_)
- {
- case FILTERABLE_DATA:
- if (this->filterable_data_.find (name, any) != 0
- || any == 0)
- {
- return -1;
- }
-
- break;
- case VARIABLE_HEADER:
- if (this->variable_header_.find (name, any) != 0
- || any == 0)
- {
- return -1;
- }
-
- break;
- // Only the sequence members of CosNotification::StructuredEvent can be
- // treated as associative arrays.
- default:
- return -1;
- }
-
- TAO_ETCL_Constraint *comp = assoc->component ();
- CORBA::Any *any_ptr = 0;
-
- if (comp == 0)
- {
- TAO_ETCL_Literal_Constraint result (any);
- this->queue_.enqueue_head (result);
-
- // If we're at the end of the line, put the name into
- // current_value_ so visit_exist can use it.
- ACE_NEW_RETURN (any_ptr,
- CORBA::Any,
- -1);
- (*any_ptr) <<= name.c_str ();
- this->current_value_ = any_ptr;
-
- return 0;
- }
- else
- {
- ACE_NEW_RETURN (any_ptr,
- CORBA::Any (*any),
- -1);
- this->current_value_ = any_ptr;
- return comp->accept (this);
- }
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_component_array (
- TAO_ETCL_Component_Array *array
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- // If we are here (from visit_component) the Any containing the
- // component as found in filterable_data_ will be in current_value_.
- CORBA::TypeCode_var tc = this->current_value_->type ();
- CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::DynAny_var member;
- CORBA::Boolean success = 0;
- CORBA::ULong slot = (CORBA::ULong) *array->integer ();
-
- switch (kind)
- {
- case CORBA::tk_array:
- {
- TAO_DynEnum_i dyn_array;
- dyn_array.init (this->current_value_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- success = dyn_array.seek (slot
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (success == 0)
- {
- return -1;
- }
-
- member = dyn_array.current_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- break;
- }
- case CORBA::tk_sequence:
- {
- TAO_DynStruct_i dyn_sequence;
- dyn_sequence.init (this->current_value_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- success = dyn_sequence.seek (slot
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (success == 0)
- {
- return -1;
- }
-
- member =
- dyn_sequence.current_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- break;
- }
- // Enums and sequences are the only two cases handled
- // by Component_Array.
- default:
- return -1;
- }
-
- CORBA::Any_var value = member->to_any (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- TAO_ETCL_Constraint *comp = array->component ();
-
- if (comp == 0)
- {
- TAO_ETCL_Literal_Constraint result (value);
- this->queue_.enqueue_head (result);
- return 0;
- }
- else
- {
- this->current_value_ = value._retn ();
- return comp->accept (this);
- }
- }
- ACE_CATCHANY
- {
- return -1;
- }
- ACE_ENDTRY;
-
- ACE_NOTREACHED (return 0);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_special (TAO_ETCL_Special *special)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- CORBA::TypeCode_var tc = this->current_value_->type ();
-
- switch (special->type ())
- {
- case TAO_ETCL_LENGTH:
- {
- // If the TCKind is not a sequence or an array, the
- // call to length() will raise an exception, and the
- // catch block will return -1;
- CORBA::ULong length = tc->length (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- TAO_ETCL_Literal_Constraint lit (length);
- this->queue_.enqueue_head (lit);
- return 0;
- }
- case TAO_ETCL_DISCRIMINANT:
- {
- // If the TCKind is not a union, the
- // call to init() will raise an exception, and the
- // catch block will return -1;
- TAO_DynUnion_i dyn_union;
- dyn_union.init (this->current_value_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::DynAny_var disc =
- dyn_union.get_discriminator (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Any_var disc_any = disc->to_any (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- TAO_ETCL_Literal_Constraint lit (disc_any);
- this->queue_.enqueue_head (lit);
- return 0;
- }
- case TAO_ETCL_TYPE_ID:
- {
- const char *name = tc->name (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- TAO_ETCL_Literal_Constraint lit (name);
- this->queue_.enqueue_head (lit);
- return 0;
- }
- case TAO_ETCL_REPOS_ID:
- {
- const char *id = tc->id (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- TAO_ETCL_Literal_Constraint lit (id);
- this->queue_.enqueue_head (lit);
- return 0;
- }
- default:
- return -1;
- }
- }
- ACE_CATCHANY
- {
- return -1;
- }
- ACE_ENDTRY;
-
- ACE_NOTREACHED (return 0);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_component (
- TAO_ETCL_Component *component
- )
-{
- TAO_ETCL_Constraint *nested = component->component ();
- TAO_ETCL_Identifier *identifier = component->identifier ();
- ACE_CString component_name (identifier->value (),
- 0,
- 0);
- CORBA::Any *any_ptr = 0;
-
- if (this->implicit_ids_.find (component_name, this->implicit_id_) != 0)
- {
- this->implicit_id_ = NONE;
- }
-
- // If this component has no sub-component, only an identifier,
- // then we just visit the identifier, which puts a literal on
- // the queue to be handled upon returning from this method call.
- // If there is a sub-component, we store the literal's value
- // in our member _var for possible examination at a more
- // nested level, and visit the sub-component. If the identifier
- // matches one of the nested field names in
- // CosNotification::StructuredEvent, we just visit the nested
- // component, if any.
- if (this->implicit_id_ == NONE)
- {
- if (nested == 0)
- {
- // If this is the end of the line, we put the component name
- // into current_value_ so visit_exist can use it.
- ACE_NEW_RETURN (any_ptr,
- CORBA::Any,
- -1);
- (*any_ptr) <<= component_name.c_str ();
- this->current_value_ = any_ptr;
- return identifier->accept (this);
- }
- else
- {
- int result = identifier->accept (this);
-
- if (result != 0)
- {
- return result;
- }
-
- TAO_ETCL_Literal_Constraint id;
- this->queue_.dequeue_head (id);
- ACE_NEW_RETURN (any_ptr,
- CORBA::Any (*(const CORBA::Any *) id),
- -1);
- this->current_value_ = any_ptr;
- }
- }
-
- if (nested != 0)
- {
- return nested->accept (this);
- }
- else
- {
- switch (this->implicit_id_)
- {
- case TYPE_NAME:
- {
- TAO_ETCL_Literal_Constraint tn (this->type_name_.in ());
- this->queue_.enqueue_head (tn);
- return 0;
- }
- case EVENT_NAME:
- {
- TAO_ETCL_Literal_Constraint en (this->event_name_.in ());
- this->queue_.enqueue_head (en);
- return 0;
- }
- case DOMAIN_NAME:
- {
- TAO_ETCL_Literal_Constraint dn (this->domain_name_.in ());
- this->queue_.enqueue_head (dn);
- return 0;
- }
- case REMAINDER_OF_BODY:
- {
- TAO_ETCL_Literal_Constraint rob (&this->remainder_of_body_);
- this->queue_.enqueue_head (rob);
- return 0;
- }
- // The above cases are the leaves of the
- // CosNotification::StructuredEvent "tree". Anything else and we
- // should have a nested component. otherwise, it's an error.
- default:
- return -1;
- }
- }
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_dot (TAO_ETCL_Dot *dot)
-{
- // If we are here, we know we're headed for a more nested
- // level, so we just visit it, there's nothing else in this
- // constraint.
- return dot->component ()->accept (this);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_eval (TAO_ETCL_Eval *eval)
-{
- // Nothing to do but visit the contained component.
- return eval->component ()->accept (this);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_default (TAO_ETCL_Default *def)
-{
- TAO_ETCL_Constraint *comp = def->component ();
-
- if (comp == 0)
- {
- return -1;
- }
-
- if (comp->accept (this) != 0)
- {
- return -1;
- }
-
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- CORBA::TypeCode_var tc = this->current_value_->type ();
-
- // If the current member is not a union, this call will
- // throw BadKind and the catch block will return -1.
- CORBA::Long default_index = tc->default_index (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // No default index.
- if (default_index == -1)
- {
- TAO_ETCL_Literal_Constraint result ((CORBA::Boolean) 0);
- this->queue_.enqueue_head (result);
- return 0;
- }
-
- // Okay, there's a default index, but is it active?
-
- TAO_ETCL_Literal_Constraint disc;
- this->queue_.dequeue_head (disc);
- TAO_ETCL_Literal_Constraint default_index_value (default_index);
- return (disc == default_index_value);
- }
- ACE_CATCHANY
- {
- return -1;
- }
- ACE_ENDTRY;
-
- ACE_NOTREACHED (return 0);
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_exist (TAO_ETCL_Exist *exist)
-{
- TAO_ETCL_Constraint *component = exist->component ();
-
- if (component->accept (this) == 0)
- {
- const char *value = 0;
- CORBA::Boolean result = 0;
-
- // For the two cases below, we don't want the item at the top of
- // the queue, because it's the result of a hash table lookup. For
- // an existence test, we want the key value, which is stored in
- // the current_value_ member.
- if (this->implicit_id_ == FILTERABLE_DATA
- || this->implicit_id_ == VARIABLE_HEADER)
- {
- TAO_ETCL_Literal_Constraint current (
- &this->current_value_.inout ()
- );
- value = CORBA::string_dup ((const char *) current);
- }
-
- switch (this->implicit_id_)
- {
- case FILTERABLE_DATA:
- result =
- (this->filterable_data_.find (ACE_CString (value, 0, 0)) == 0);
- break;
- case VARIABLE_HEADER:
- result =
- (this->variable_header_.find (ACE_CString (value, 0, 0)) == 0);
- break;
- case TYPE_NAME:
- result = (this->type_name_.in () != 0);
- break;
- case EVENT_NAME:
- result = (this->event_name_.in () != 0);
- break;
- case DOMAIN_NAME:
- result = (this->domain_name_.in () != 0);
- break;
- // Anything other than the above cases is an error.
- default:
- return -1;
- }
-
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
-
- return 0;
- }
-
- return -1;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_unary_expr (
- TAO_ETCL_Unary_Expr *unary_expr
- )
-{
- TAO_ETCL_Constraint *subexpr = unary_expr->subexpr ();
-
- if (subexpr->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint subexpr_result;
- CORBA::Boolean result = 0;
- int op_type = unary_expr->type ();
-
- switch (op_type)
- {
- case TAO_ETCL_NOT:
- this->queue_.dequeue_head (subexpr_result);
- result = ! (CORBA::Boolean) subexpr_result;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- return 0;
- case TAO_ETCL_MINUS:
- // The leading '-' was parsed separately, so we have to pull
- // the literal constraint off the queue, apply the class' own
- // unary minus operator, and put it back.
- this->queue_.dequeue_head (subexpr_result);
- this->queue_.enqueue_head (-subexpr_result);
- return 0;
- case TAO_ETCL_PLUS:
- // Leave the literal constraint on the queue. The leading
- // '+' was just syntactic sugar - no action is necessary.
- return 0;
- default:
- // The parser should never construct a TAO_ETCL_Unary_Constraint
- // behind any operators except the above three.
- return -1;
- }
- }
-
- return -1;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_binary_expr (
- TAO_ETCL_Binary_Expr *binary_expr
- )
-{
- int bin_op_type = binary_expr->type ();
-
- switch (bin_op_type)
- {
- case TAO_ETCL_OR:
- return this->visit_or (binary_expr);
- case TAO_ETCL_AND:
- return this->visit_and (binary_expr);
- case TAO_ETCL_LT:
- case TAO_ETCL_LE:
- case TAO_ETCL_GT:
- case TAO_ETCL_GE:
- case TAO_ETCL_EQ:
- case TAO_ETCL_NE:
- case TAO_ETCL_PLUS:
- case TAO_ETCL_MINUS:
- case TAO_ETCL_MULT:
- case TAO_ETCL_DIV:
- return this->visit_binary_op (binary_expr,
- bin_op_type);
- case TAO_ETCL_TWIDDLE:
- return this->visit_twiddle (binary_expr);
- case TAO_ETCL_IN:
- return this->visit_in (binary_expr);
- default:
- return -1;
- }
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_or (
- TAO_ETCL_Binary_Expr *binary
- )
-{
- int return_value = -1;
- CORBA::Boolean result = 0;
- TAO_ETCL_Constraint *lhs = binary->lhs ();
-
- if (lhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint lhs_result;
- this->queue_.dequeue_head (lhs_result);
- result = (CORBA::Boolean) lhs_result;
-
- // Short-circuiting OR.
- if (result == 0)
- {
- TAO_ETCL_Constraint *rhs = binary->rhs ();
-
- if (rhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint rhs_result;
- this->queue_.dequeue_head (rhs_result);
- result = (CORBA::Boolean) rhs_result;
- return_value = 0;
- }
- }
- else
- {
- return_value = 0;
- }
- }
-
- if (return_value == 0)
- {
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- }
-
- return return_value;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_and (
- TAO_ETCL_Binary_Expr *binary
- )
-{
- int return_value = -1;
- CORBA::Boolean result = 0;
- TAO_ETCL_Constraint *lhs = binary->lhs ();
-
- if (lhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint lhs_result;
- this->queue_.dequeue_head (lhs_result);
- result = (CORBA::Boolean) lhs_result;
-
- // Short-circuiting AND.
- if (result == 1)
- {
- TAO_ETCL_Constraint *rhs = binary->rhs ();
-
- if (rhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint rhs_result;
- this->queue_.dequeue_head (rhs_result);
- result = (CORBA::Boolean) rhs_result;
- return_value = 0;
- }
- }
- else
- {
- return_value = 0;
- }
- }
-
- if (return_value == 0)
- {
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- }
-
- return return_value;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_binary_op (
- TAO_ETCL_Binary_Expr *binary,
- int op_type
- )
-{
- int return_value = -1;
- TAO_ETCL_Constraint *lhs = binary->lhs ();
- CORBA::Boolean result = 0;
-
- // Perform an operation on the results of evaluating the left and
- // right branches of this subtree.
- if (lhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint left_operand;
- this->queue_.dequeue_head (left_operand);
- TAO_ETCL_Constraint *rhs = binary->rhs ();
-
- if (rhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint right_operand;
- this->queue_.dequeue_head (right_operand);
- return_value = 0;
-
- switch (op_type)
- {
- case TAO_ETCL_LT:
- result = left_operand < right_operand;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- break;
- case TAO_ETCL_LE:
- result = left_operand <= right_operand;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- break;
- case TAO_ETCL_GT:
- result = left_operand > right_operand;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- break;
- case TAO_ETCL_GE:
- result = left_operand >= right_operand;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- break;
- case TAO_ETCL_EQ:
- result = left_operand == right_operand;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- break;
- case TAO_ETCL_NE:
- result = left_operand != right_operand;
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- break;
- case TAO_ETCL_PLUS:
- this->queue_.enqueue_head (left_operand + right_operand);
- break;
- case TAO_ETCL_MINUS:
- this->queue_.enqueue_head (left_operand - right_operand);
- break;
- case TAO_ETCL_MULT:
- this->queue_.enqueue_head (left_operand * right_operand);
- break;
- case TAO_ETCL_DIV:
- this->queue_.enqueue_head (left_operand / right_operand);
- break;
- default:
- return_value = -1;
- }
- }
- }
-
- return return_value;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_twiddle (
- TAO_ETCL_Binary_Expr *binary
- )
-{
- int return_value = -1;
- TAO_ETCL_Constraint *lhs = binary->lhs ();
-
- // Determine if the left operand is a substring of the right.
- if (lhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint left;
- this->queue_.dequeue_head (left);
- TAO_ETCL_Constraint *rhs = binary->rhs ();
-
- if (rhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint right;
- this->queue_.dequeue_head (right);
- CORBA::Boolean result =
- (ACE_OS::strstr ((const char *) right,
- (const char *) left) != 0);
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- return_value = 0;
- }
- }
-
- return return_value;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_in (
- TAO_ETCL_Binary_Expr *binary
- )
-{
- int return_value = -1;
- TAO_ETCL_Constraint *lhs = binary->lhs ();
-
- // Determine if the left operand is contained in the right.
-
- if (lhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint left;
- this->queue_.dequeue_head (left);
-
- TAO_ETCL_Constraint *rhs = binary->rhs ();
-
- if (rhs->accept (this) == 0)
- {
- TAO_ETCL_Literal_Constraint bag;
- this->queue_.dequeue_head (bag);
-
- if (bag.expr_type () == TAO_ETCL_COMPONENT)
- {
- const CORBA::Any *component = (const CORBA::Any *) bag;
- CORBA::TCKind kind = CORBA::tk_null;
-
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- CORBA::TypeCode_var tc = component->type ();
- kind = TAO_DynAnyFactory::unalias (tc.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return return_value;
- }
- ACE_ENDTRY;
-
- CORBA::Boolean result = 0;
-
- switch (kind)
- {
- case CORBA::tk_sequence:
- result = this->sequence_does_contain (component,
- left);
- break;
- case CORBA::tk_array:
- result = this->array_does_contain (component,
- left);
- break;
- case CORBA::tk_struct:
- result = this->struct_does_contain (component,
- left);
- break;
- case CORBA::tk_union:
- result = this->union_does_contain (component,
- left);
- break;
- case CORBA::tk_any:
- result = this->any_does_contain (component,
- left);
- break;
- default:
- return return_value;
- }
-
- this->queue_.enqueue_head (TAO_ETCL_Literal_Constraint (result));
- return_value = 0;
- }
- }
- }
-
- return return_value;
-}
-
-int
-TAO_Notify_Constraint_Visitor::visit_preference (
- TAO_ETCL_Preference *
- )
-{
- // According to OMG 00-06-20 section 2.4.1, the Notification Service
- // does not use the preference operators. The method must be here
- // because it is called by the ETCL node, which may be used by other
- // CORBA services that do use the preference operators.
- return -1;
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::sequence_does_contain (
- const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- CORBA::TypeCode_var type = any->type ();
- CORBA::TCKind kind = TAO_DynAnyFactory::unalias (type.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // The literal and the array elements must be
- // of the same simple type.
- CORBA::Boolean match = this->simple_type_match (item.expr_type (),
- kind);
-
- if (match == 0)
- {
- return 0;
- }
-
- TAO_DynSequence_i dyn_seq;
- dyn_seq.init (*any
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::AnySeq_var any_seq =
- dyn_seq.get_elements (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULong length = any_seq->length ();
-
- for (CORBA::ULong i = 0; i < length; ++i)
- {
- TAO_ETCL_Literal_Constraint element (&any_seq[i]);
-
- if (item == element)
- {
- return 1;
- }
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- return 0;
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::array_does_contain (
- const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- CORBA::TypeCode_var type = any->type ();
- CORBA::TCKind kind = TAO_DynAnyFactory::unalias (type.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // The literal and the array elements must be
- // of the same simple type.
- CORBA::Boolean match = this->simple_type_match (item.expr_type (),
- kind);
-
- if (match == 0)
- {
- return 0;
- }
-
- TAO_DynArray_i dyn_array;
- dyn_array.init (*any
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::AnySeq_var any_seq =
- dyn_array.get_elements (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULong length = any_seq->length ();
-
- for (CORBA::ULong i = 0; i < length; ++i)
- {
- TAO_ETCL_Literal_Constraint element (&any_seq[i]);
-
- if (item == element)
- {
- return 1;
- }
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- return 0;
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::struct_does_contain (
- const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- TAO_DynStruct_i dyn_struct;
- dyn_struct.init (*any
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::NameValuePairSeq_var members =
- dyn_struct.get_members (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULong length = members->length ();
- CORBA::TypeCode_var tc;
- CORBA::TCKind kind;
-
- for (CORBA::ULong i = 0; i < length; ++i)
- {
- tc = members[i].value.type ();
- kind = TAO_DynAnyFactory::unalias (tc.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // The literal and the struct member must be
- // of the same simple type.
- CORBA::Boolean match = this->simple_type_match (item.expr_type (),
- kind);
-
- if (match == 0)
- {
- continue;
- }
-
- TAO_ETCL_Literal_Constraint element (&members[i].value);
-
- if (item == element)
- {
- return 1;
- }
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- return 0;
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::union_does_contain (
- const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item
- )
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- TAO_DynUnion_i dyn_union;
- dyn_union.init (*any
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- DynamicAny::DynAny_var cc =
- dyn_union.current_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Any_var member = cc->to_any (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::TypeCode_var tc = member->type ();
- CORBA::TCKind kind = TAO_DynAnyFactory::unalias (tc.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // The literal and the union member must be
- // of the same simple type.
- CORBA::Boolean match = this->simple_type_match (item.expr_type (),
- kind);
-
- if (match == 0)
- {
- return 0;
- }
-
- TAO_ETCL_Literal_Constraint element (&member.inout ());
-
- return (item == element);
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- ACE_NOTREACHED (return 0);
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::any_does_contain (
- const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item
- )
-{
- const CORBA::Any *result = 0;
-
- *any >>= result;
-
- TAO_ETCL_Literal_Constraint element (ACE_const_cast (CORBA::Any *,
- result));
-
- return (item == element);
-}
-
-CORBA::Boolean
-TAO_Notify_Constraint_Visitor::simple_type_match (int expr_type,
- CORBA::TCKind tc_kind)
-{
- switch (expr_type)
- {
- case TAO_ETCL_STRING:
- if (tc_kind != CORBA::tk_string)
- {
- return 0;
- }
- case TAO_ETCL_DOUBLE:
- if (tc_kind != CORBA::tk_double
- && tc_kind != CORBA::tk_float)
- {
- return 0;
- }
- case TAO_ETCL_INTEGER:
- case TAO_ETCL_SIGNED:
- if (tc_kind != CORBA::tk_short
- && tc_kind != CORBA::tk_long
- && tc_kind != CORBA::tk_longlong)
- {
- return 0;
- }
- case TAO_ETCL_UNSIGNED:
- if (tc_kind != CORBA::tk_ushort
- && tc_kind != CORBA::tk_ulong
- && tc_kind != CORBA::tk_ulonglong)
- {
- return 0;
- }
- case TAO_ETCL_BOOLEAN:
- if (tc_kind != CORBA::tk_boolean)
- {
- return 0;
- }
- default:
- return 0;
- }
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Hash_Map_Manager<ACE_CString, CORBA::Any*, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Entry <ACE_CString, CORBA::Any*>;
-template class ACE_Hash_Map_Iterator<ACE_CString, CORBA::Any*, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<ACE_CString, CORBA::Any*, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Node<TAO_ETCL_Literal_Constraint>;
-template class ACE_Unbounded_Queue<TAO_ETCL_Literal_Constraint>;
-template class ACE_Unbounded_Queue_Iterator<TAO_ETCL_Literal_Constraint>;
-
-
-template class ACE_Hash_Map_Manager<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Entry <ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field>;
-template class ACE_Hash_Map_Iterator<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Hash_Map_Manager<ACE_CString, CORBA::Any*, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Entry <ACE_CString, CORBA::Any*>
-#pragma instantiate ACE_Hash_Map_Iterator<ACE_CString, CORBA::Any*, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<ACE_CString, CORBA::Any*, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, CORBA::Any *, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Node<TAO_ETCL_Literal_Constraint>
-#pragma instantiate ACE_Unbounded_Queue<TAO_ETCL_Literal_Constraint>
-#pragma instantiate ACE_Unbounded_Queue_Iterator<TAO_ETCL_Literal_Constraint>
-
-#pragma instantiate ACE_Hash_Map_Manager<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Entry <ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field>
-#pragma instantiate ACE_Hash_Map_Iterator<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, TAO_Notify_Constraint_Visitor::structured_event_field, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, TAO_SYNCH_MUTEX>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h
deleted file mode 100644
index 9ca060decee..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Constraint_Visitors.h
- *
- * $Id$
- *
- *
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- * @author Jeff Parsons <parsons@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef NOTIFY_CONSTRAINT_VISITORS_H
-#define NOTIFY_CONSTRAINT_VISITORS_H
-
-#include "ace/pre.h"
-#include "ace/Hash_Map_Manager.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/ETCL/ETCL_Constraint_Visitor.h"
-#include "orbsvcs/CosNotificationC.h"
-#include "notify_export.h"
-
-class TAO_ETCL_Constraint;
-class TAO_ETCL_Literal_Constraint;
-class TAO_Notify_Property_Constraint;
-
-class TAO_Notify_Export TAO_Notify_Constraint_Visitor
- : public TAO_ETCL_Constraint_Visitor
-{
-public:
- /// Constructor.
- TAO_Notify_Constraint_Visitor (void);
-
- /// Put the event data into our hash map.
- int bind_structured_event (const CosNotification::StructuredEvent &s_event);
-
- /**
- * Returns 1 if the event satisfies the constraint
- * represented by the the expression tree rooted at <root>, 0 if it
- * doesn't. If an error occurs during the process, the traversal
- * automatically fails.
- */
- CORBA::Boolean evaluate_constraint (TAO_ETCL_Constraint *root);
-
- // The overridden methods.
- int visit_literal (TAO_ETCL_Literal_Constraint *);
- int visit_identifier (TAO_ETCL_Identifier *);
- int visit_union_value (TAO_ETCL_Union_Value *);
- int visit_union_pos (TAO_ETCL_Union_Pos *);
- int visit_component_pos (TAO_ETCL_Component_Pos *);
- int visit_component_assoc (TAO_ETCL_Component_Assoc *);
- int visit_component_array (TAO_ETCL_Component_Array *);
- int visit_special (TAO_ETCL_Special *);
- int visit_component (TAO_ETCL_Component *);
- int visit_dot (TAO_ETCL_Dot *);
- int visit_eval (TAO_ETCL_Eval *);
- int visit_default (TAO_ETCL_Default *);
- int visit_exist (TAO_ETCL_Exist *);
- int visit_unary_expr (TAO_ETCL_Unary_Expr *);
- int visit_binary_expr (TAO_ETCL_Binary_Expr *);
- int visit_preference (TAO_ETCL_Preference *);
-
-protected:
- // Sub-methods for visit_binary_expr().
- int visit_or (TAO_ETCL_Binary_Expr *);
- int visit_and (TAO_ETCL_Binary_Expr *);
- int visit_twiddle (TAO_ETCL_Binary_Expr *);
- int visit_in (TAO_ETCL_Binary_Expr *);
- int visit_binary_op (TAO_ETCL_Binary_Expr *binary_expr,
- int op_type);
-
- // These use dynamic anys to look inside the ETCL component.
- CORBA::Boolean sequence_does_contain (const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item);
- CORBA::Boolean array_does_contain (const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item);
- CORBA::Boolean struct_does_contain (const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item);
- CORBA::Boolean union_does_contain (const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item);
- CORBA::Boolean any_does_contain (const CORBA::Any *any,
- TAO_ETCL_Literal_Constraint &item);
-
- // Utility function to compare a TAO_ETCL_Literal_Constraint type
- // and a type code.
- CORBA::Boolean simple_type_match (int expr_type,
- CORBA::TCKind tc_kind);
-
- enum structured_event_field
- {
- FILTERABLE_DATA,
- HEADER,
- FIXED_HEADER,
- EVENT_TYPE,
- DOMAIN_NAME,
- TYPE_NAME,
- EVENT_NAME,
- VARIABLE_HEADER,
- REMAINDER_OF_BODY,
- NONE
- };
-
- /// Storage for the type of implicit id the component has (if any).
- structured_event_field implicit_id_;
-
- /// Lookup table for the implicit ids, to avoid string comparisons in
- /// derived visitors.
- ACE_Hash_Map_Manager <ACE_CString, structured_event_field, TAO_SYNCH_MUTEX>
- implicit_ids_;
-
- /// Used to lookup names and values in the event's 'filterable_data' field.
- ACE_Hash_Map_Manager <ACE_CString, CORBA::Any *, TAO_SYNCH_MUTEX>
- filterable_data_;
-
- /// Used to lookup names and values in the event's 'variable_header' field.
- ACE_Hash_Map_Manager <ACE_CString, CORBA::Any *, TAO_SYNCH_MUTEX>
- variable_header_;
-
- /// Storage for string names under the structured event's
- /// 'fixed_header' field.
- CORBA::String_var domain_name_;
- CORBA::String_var type_name_;
- CORBA::String_var event_name_;
-
- /// Storage for the structured_event's 'remainder_of_body' field.
- CORBA::Any remainder_of_body_;
-
- /// The result of a non_boolean operation.
- ACE_Unbounded_Queue <TAO_ETCL_Literal_Constraint> queue_;
-
- /// Holder for a value found in the event fields filterable_data,
- /// variable_header or remainder_of_body.
- CORBA::Any_var current_value_;
-
- /// Holder for a string name in the event fields fixed_header,
- /// variable_header, or filterable_data.
- CORBA::String_var current_name_;
-};
-
-#include "ace/post.h"
-#endif /* NOTIFY_CONSTRAINT_VISITORS_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp
deleted file mode 100644
index aacf0df5f45..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp
+++ /dev/null
@@ -1,814 +0,0 @@
-// $Id$
-
-#include "Notify_ConsumerAdmin_i.h"
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_ProxyPushSupplier_i.h"
-#include "Notify_StructuredProxyPushSupplier_i.h"
-#include "Notify_SequenceProxyPushSupplier_i.h"
-#include "Notify_EventChannel_i.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_Channel_Objects_Factory.h"
-#include "Notify_POA_Factory.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Collection_Factory.h"
-#include "Notify_Factory.h"
-#include "Notify_Listener_Filter_Eval_Command.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_Event_Dispatch_Command.h"
-#include "Notify_Event_Processor.h"
-#include "Notify_Worker_Task.h"
-
-#include "tao/debug.h"
-
-ACE_RCSID (Notify,
- Notify_ConsumerAdmin_i,
- "$Id$")
-
-// Implementation skeleton constructor
-TAO_Notify_ConsumerAdmin_i::TAO_Notify_ConsumerAdmin_i (
- TAO_Notify_EventChannel_i* event_channel
- )
- :lock_ (0),
- refcount_ (1),
- destory_child_POAs_ (0),
- event_channel_ (event_channel),
- // @@ Pradeep: don't use statics, it is better to pass these as
- // arguments.
- channel_objects_factory_ (TAO_Notify_Factory::get_channel_objects_factory ()),
- poa_factory_ (TAO_Notify_Factory::get_poa_factory ()),
- collection_factory_ (TAO_Notify_Factory::get_collection_factory ()),
- event_manager_ (event_channel->get_event_manager ()),
- event_listener_list_ (0),
- dispatching_task_ (0),
- filter_eval_task_ (0)
-{
- // @@ Pradeep: don't forget the this-> stuff for local variables.
- this->event_manager_objects_factory_ = this->event_manager_->resource_factory ();
- this->event_channel_->_add_ref (); // we don't want our parent to go away!
-}
-
-// Implementation skeleton destructor
-TAO_Notify_ConsumerAdmin_i::~TAO_Notify_ConsumerAdmin_i (void)
-{
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- "in CA %d dtor\n",
- this->my_id_));
- }
-
- delete this->lock_;
-
- delete this->event_listener_list_;
-
- this->event_channel_->consumer_admin_destroyed (this->my_id_);
- this->event_channel_->_remove_ref ();
-
- delete this->dispatching_task_;
- delete this->filter_eval_task_;
-}
-
-CORBA::ULong
-TAO_Notify_ConsumerAdmin_i::_incr_refcnt (void)
-{
- ACE_GUARD_RETURN (ACE_Lock,
- ace_mon,
- *this->lock_,
- 0);
- return this->refcount_++;
-}
-
-CORBA::ULong
-TAO_Notify_ConsumerAdmin_i::_decr_refcnt (void)
-{
- {
- ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
- this->refcount_--;
-
- if (this->refcount_ != 0)
- {
- return this->refcount_;
- }
- }
-
- delete this;
- return 0;
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
-{
- this->_incr_refcnt ();
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
-{
- this->_decr_refcnt ();
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::dispatch_event (TAO_Notify_Event &event
- ACE_ENV_ARG_DECL)
-{
- // Dispatch the event to all the registered listeners.
- TAO_Notify_Dispatch_Command_Worker worker (&event,
- this->event_manager_->event_processor ());
- // Propogate the filter command.
-
- this->event_listener_list_->for_each (&worker ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Boolean
-TAO_Notify_ConsumerAdmin_i::evaluate_filter (TAO_Notify_Event &event, CORBA::Boolean /*eval_parent*/ ACE_ENV_ARG_DECL)
-{
- CORBA::Boolean bval =
- this->get_filter_admin ().match (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if ((bval == 1 && this->filter_operator_ == CosNotifyChannelAdmin::AND_OP) ||
- (bval == 0 && this->filter_operator_ == CosNotifyChannelAdmin::OR_OP))
- {
- // If the filter operator requires that each listener attached to this admin be evaluated,
- // we feed the listeners to the "listener filter evaluation" task.
-
- TAO_Notify_Filter_Command_Worker worker (&event, this->event_manager_->event_processor (), 0);
- // note the last param. we ask that the parent filter *not* be evaluated again
- // because we've done it here.
-
- this->event_listener_list_->for_each (&worker ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- // Propogate the filter command.
-
- return 0;
- }
- else if (bval == 1 && this->filter_operator_ == CosNotifyChannelAdmin::OR_OP)
- {
- // no need to check any of the children. happy dispatching!
- return 1;
-
- // OR we could instead do:
- //
- // this->dispatch_event (event ACE_ENV_ARG_PARAMETER);
- // return 0;
- //
- // This will short circuit a few steps, because the event processor is going to
- // turn around and create a dispatching command object to call dispatch_event.
- // My $.02 worth optimization fetish!
- // but we'll give in favour of consistency ;)
- }
-
- return 0; // in all [other] cases, return false.
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::proxy_pushsupplier_destroyed (CosNotifyChannelAdmin::ProxyID proxyID)
-{
- this->proxy_pushsupplier_ids_.put (proxyID); // This id is no longer in use.
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::init (CosNotifyChannelAdmin::AdminID my_id,
- CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator,
- PortableServer::POA_ptr my_POA
- ACE_ENV_ARG_DECL)
-{
- my_POA_ = PortableServer::POA::_duplicate (my_POA);
-
- this->lock_ =
- this->channel_objects_factory_->create_consumer_admin_lock (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->proxy_pushsupplier_POA_ = this->poa_factory_->
- create_proxy_pushsupplier_POA (this->my_POA_.in (), my_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->my_id_ = my_id;
- this->filter_operator_ = filter_operator;
-
- this->event_listener_list_ =
- this->collection_factory_->create_event_listener_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Create the task to forward filtering/dispatching commands to:
- // @@ think about how get rid of these 2 allocations per consumer admin.
- // add a "get_singleton_reactive_task" to the event manager factory interface.
- this->dispatching_task_ =
- new TAO_Notify_Worker_Task ();
- /*this->event_manager_objects_factory_->create_dispatching_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- */
- this->filter_eval_task_ =
- new TAO_Notify_Worker_Task ();
- // this->event_manager_objects_factory_->create_listener_eval_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- // Init the tasks, allowing them to update values based on
- // the admin and qos properties.
- this->dispatching_task_->init_task (admin_properties,
- &(this->qos_admin_));
- this->filter_eval_task_->init_task (admin_properties,
- &(this->qos_admin_));
-
- // Initially we set up things so that all listeners are subscribed for
- // all the events so that things "work" even if we don't twiddle with
- // the subscriptions. The side effect is that whenever we start setting
- // up subscriptions, we must remove the special event type otherwise we
- // will get the same event twice!
- // check with the resource manager if this option is enabled.
- /*if (this->resource_manager_->default_subscription_enabled () == 1)
- {
- TAO_Notify_EventType& special_type =
- TAO_Notify_EventType::special_event_type ();
-
- CosNotification::EventTypeSeq added (1), removed (0);
-
- added.length (1);
- removed.length (0);
-
- added[0] = special_type.get_native ();
-
- this->subscription_change (added, removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- */
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
-{
- CosNotification::EventTypeSeq removed;
-
- CosNotification::EventTypeSeq added (0);
- added.length (0);
-
- // unsubscribe it to our current subscriptions.
- removed.length (this->subscription_list_.size ());
-
- this->subscription_list_.populate (removed);
-
- this->event_manager_->subscribe_for_events (this,
- added, removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // deactivate ourselves
- this->poa_factory_->deactivate_object (this, this->my_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
-
- // shutdown proxys.
- TAO_Notify_Shutdown_Worker shutdown_worker;
-
- this->event_listener_list_->for_each (&shutdown_worker ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_listener_list_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->poa_factory_->destroy_POA (this->proxy_pushsupplier_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->dispatching_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->filter_eval_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // unregister from EC
- this->event_channel_->unregister_listener (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-TAO_Notify_Worker_Task*
-TAO_Notify_ConsumerAdmin_i::event_dispatch_task (void)
-{
- return this->dispatching_task_;
-}
-
-TAO_Notify_Worker_Task*
-TAO_Notify_ConsumerAdmin_i::filter_eval_task (void)
-{
- return this->filter_eval_task_;
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::subscription_change (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ))
-{
-
- TAO_Notify_EventType_List seq_added, seq_removed;
-
- seq_added.insert_seq (added);
- seq_removed.insert_seq (removed);
-
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- TAO_Notify_EventType_List::preprocess (this->subscription_list_, seq_added, seq_removed);
-
- }
-
- CosNotification::EventTypeSeq p_added, p_removed;
-
- seq_added.populate (p_added);
- seq_removed.populate (p_removed);
-
- this->event_manager_->subscribe_for_events (this,
- p_added,
- p_removed
- ACE_ENV_ARG_PARAMETER);
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- "ConsumerAdmin %d: added following types: ",
- my_id_ ));
-
- CORBA::ULong i = 0;
-
- for (i = 0; i < p_added.length (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%s, %s)\t",
- p_added[i].domain_name.in(),
- p_added[i].type_name.in()));
- }
-
- ACE_DEBUG ((LM_DEBUG,"\n ConsumerAdmin %d: removed following types: ",my_id_ ));
-
- for (i = 0; i < p_removed.length (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%s, %s)\t",
- p_removed[i].domain_name.in(),
- p_removed[i].type_name.in()));
- }
-
- CosNotification::EventTypeSeq current;
- this->subscription_list_.populate (current);
-
- ACE_DEBUG ((LM_DEBUG,
- "\n ConsumerAdmin %d:current subscriptions: ",
- my_id_));
-
- for (i = 0; i < current.length (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%s, %s)\n",
- current[i].domain_name.in(),
- current[i].type_name.in()));
- }
- }
-}
-
-CosNotifyChannelAdmin::ConsumerAdmin_ptr
-TAO_Notify_ConsumerAdmin_i::get_ref (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var obj = this->poa_factory_->
- servant_to_reference (this->my_POA_.in (), this ACE_ENV_ARG_PARAMETER);
-
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ConsumerAdmin::_nil ());
-
- return CosNotifyChannelAdmin::ConsumerAdmin::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-TAO_Notify_Event_Manager*
-TAO_Notify_ConsumerAdmin_i::get_event_manager (void)
-{
- return this->event_manager_;
-}
-
-TAO_Notify_FilterAdmin_i&
-TAO_Notify_ConsumerAdmin_i::get_filter_admin (void)
-{
- return this->filter_admin_;
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::register_listener (TAO_Notify_EventListener *listener ACE_ENV_ARG_DECL)
-{
- // register it.
- this->event_listener_list_->connected (listener ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::unregister_listener (TAO_Notify_EventListener *listener ACE_ENV_ARG_DECL)
-{
- this->event_listener_list_->disconnected (listener ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::deactivate_proxy_pushsupplier (PortableServer::Servant servant ACE_ENV_ARG_DECL)
-{
- this->poa_factory_->
- deactivate_object (servant, this->proxy_pushsupplier_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::AdminID
-TAO_Notify_ConsumerAdmin_i::MyID (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return my_id_;
-}
-
-CosNotifyChannelAdmin::EventChannel_ptr
-TAO_Notify_ConsumerAdmin_i::MyChannel (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return event_channel_->get_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::InterFilterGroupOperator
-TAO_Notify_ConsumerAdmin_i::MyOperator (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return filter_operator_;
-}
-
-CosNotifyChannelAdmin::ProxyIDSeq*
-TAO_Notify_ConsumerAdmin_i::push_suppliers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->proxy_pushsupplier_ids_.get_sequence (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::ProxySupplier_ptr
-TAO_Notify_ConsumerAdmin_i::get_proxy_supplier (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ProxyNotFound
- ))
-{
- CORBA::Object_var obj =
- this->poa_factory_->id_to_reference (proxy_id,
- proxy_pushsupplier_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxySupplier::_nil ());
-
- return CosNotifyChannelAdmin::ProxySupplier::_narrow (obj.in ());
-}
-
-CORBA::Object_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_struct_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- TAO_Notify_StructuredProxyPushSupplier_i* struct_proxy_pushsupplier =
- this->channel_objects_factory_->create_struct_proxy_pushsupplier (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- PortableServer::ServantBase_var proxy_pushsupplier_var (struct_proxy_pushsupplier);
-
- struct_proxy_pushsupplier->init (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return this->poa_factory_->
- activate_object_with_id (proxy_id,
- this->proxy_pushsupplier_POA_.in (),
- struct_proxy_pushsupplier
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_sequence_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- TAO_Notify_SequenceProxyPushSupplier_i* seq_proxy_pushsupplier =
- this->channel_objects_factory_->create_seq_proxy_pushsupplier (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- PortableServer::ServantBase_var proxy_pushsupplier_var (seq_proxy_pushsupplier);
-
- seq_proxy_pushsupplier->init (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return this->poa_factory_->
- activate_object_with_id (proxy_id,
- this->proxy_pushsupplier_POA_.in (),
- seq_proxy_pushsupplier
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- TAO_Notify_ProxyPushSupplier_i* proxy_pushsupplier =
- this->channel_objects_factory_->create_proxy_pushsupplier (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- PortableServer::ServantBase_var proxy_pushsupplier_var (proxy_pushsupplier);
-
- proxy_pushsupplier->init (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return this->poa_factory_->
- activate_object_with_id (proxy_id,
- this->proxy_pushsupplier_POA_.in (),
- proxy_pushsupplier
- ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::ProxySupplier_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_notification_push_supplier (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ))
-{
- CORBA::Object_var obj;
-
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxySupplier::_nil ());
-
- proxy_id = this->proxy_pushsupplier_ids_.get ();
- }
-
- switch (ctype)
- {
- case CosNotifyChannelAdmin::ANY_EVENT:
- {
- obj = this->obtain_proxy_pushsupplier_i (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxySupplier::_nil ());
- }
- break;
- case CosNotifyChannelAdmin::STRUCTURED_EVENT:
- {
- obj = this->obtain_struct_proxy_pushsupplier_i (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxySupplier::_nil ());
- }
- break;
-
- case CosNotifyChannelAdmin::SEQUENCE_EVENT:
- {
- obj = this->obtain_sequence_proxy_pushsupplier_i (proxy_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxySupplier::_nil ());
- }
- break;
-
- default:
- ACE_THROW_RETURN (CORBA::BAD_PARAM (),
- CosNotifyChannelAdmin::ProxySupplier::_nil ());
- }
-
- this->proxy_pushsupplier_ids_.next (); // commit this id to the pool
- return CosNotifyChannelAdmin::ProxySupplier::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotification::QoSProperties*
-TAO_Notify_ConsumerAdmin_i::get_qos (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->qos_admin_.get_qos (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- this->qos_admin_.set_qos (qos ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Then update our task's qos
- if (this->dispatching_task_ != 0)
- {
- this->dispatching_task_->update_qos (this->qos_admin_);
- }
- if (this->filter_eval_task_ != 0)
- {
- this->filter_eval_task_->update_qos (this->qos_admin_);
- }
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::validate_qos (const CosNotification::QoSProperties & required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- this->qos_admin_.validate_qos (required_qos, available_qos ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyFilter::FilterID
-TAO_Notify_ConsumerAdmin_i::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::remove_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- this->filter_admin_.remove_filter (filter ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyFilter::Filter_ptr
-TAO_Notify_ConsumerAdmin_i::get_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- return this->filter_admin_.get_filter (filter ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyFilter::FilterIDSeq*
-TAO_Notify_ConsumerAdmin_i::get_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_admin_.get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosEventChannelAdmin::ProxyPushSupplier_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_push_supplier (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- TAO_Notify_CosEC_ProxyPushSupplier_i* cosec_proxy;
-
- ACE_NEW_THROW_EX (cosec_proxy,
- TAO_Notify_CosEC_ProxyPushSupplier_i (this),
- CORBA::NO_MEMORY ());
-
- PortableServer::ServantBase_var proxy_var (cosec_proxy);
-
- cosec_proxy->init (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosEventChannelAdmin::ProxyPushSupplier::_nil ());
-
- PortableServer::POA_var def_poa =
- this->event_channel_->get_default_POA ();
-
- CORBA::Object_var obj = this->poa_factory_->
- activate_object (def_poa.in (), cosec_proxy ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosEventChannelAdmin::ProxyPushSupplier::_nil ());
-
- return CosEventChannelAdmin::ProxyPushSupplier::_narrow (obj.in ());
-}
-
-CosNotifyChannelAdmin::ProxySupplier_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_notification_pull_supplier (CosNotifyChannelAdmin::ClientType /*ctype*/, CosNotifyChannelAdmin::ProxyID_out /*proxy_id*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosNotifyChannelAdmin::ProxySupplier::_nil ());
-}
-
-CosEventChannelAdmin::ProxyPullSupplier_ptr
-TAO_Notify_ConsumerAdmin_i::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosEventChannelAdmin::ProxyPullSupplier::_nil ());
-}
-
-
-CosNotifyFilter::MappingFilter_ptr
-TAO_Notify_ConsumerAdmin_i::priority_filter (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosNotifyFilter::MappingFilter::_nil ());
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::priority_filter (CosNotifyFilter::MappingFilter_ptr /*priority_filter*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-CosNotifyFilter::MappingFilter_ptr
-TAO_Notify_ConsumerAdmin_i::lifetime_filter (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosNotifyFilter::MappingFilter::_nil ());
-}
-
-void
-TAO_Notify_ConsumerAdmin_i::lifetime_filter (CosNotifyFilter::MappingFilter_ptr /*lifetime_filter*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-CosNotifyChannelAdmin::ProxyIDSeq*
-TAO_Notify_ConsumerAdmin_i::pull_suppliers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-/****************************************************************************************************/
-
-TAO_Notify_Filter_Command_Worker::TAO_Notify_Filter_Command_Worker (TAO_Notify_Event* event, TAO_Notify_Event_Processor* event_processor, CORBA::Boolean eval_parent)
- : event_ (event),
- event_processor_ (event_processor),
- eval_parent_ (eval_parent)
-{
-}
-
-void
-TAO_Notify_Filter_Command_Worker::work (TAO_Notify_EventListener* event_listener ACE_ENV_ARG_DECL)
-{
- this->event_processor_->evaluate_listener_filter (this->event_, event_listener,
- this->eval_parent_ ACE_ENV_ARG_PARAMETER);
-}
-
-/****************************************************************************************************/
-
-TAO_Notify_Dispatch_Command_Worker::TAO_Notify_Dispatch_Command_Worker (TAO_Notify_Event* event, TAO_Notify_Event_Processor* event_processor)
- : event_ (event),
- event_processor_ (event_processor)
-{
-}
-
-TAO_Notify_Dispatch_Command_Worker::~TAO_Notify_Dispatch_Command_Worker ()
-{
-}
-
-void
-TAO_Notify_Dispatch_Command_Worker::work (TAO_Notify_EventListener* event_listener ACE_ENV_ARG_DECL)
-{
- this->event_processor_->dispatch_event (this->event_, event_listener ACE_ENV_ARG_PARAMETER);
-}
-
-/****************************************************************************************************/
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h
deleted file mode 100644
index 76992877c46..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h
+++ /dev/null
@@ -1,440 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_ConsumerAdmin_i.h
- *
- * $Id$
- *
- * Implements the CosNotifyChannelAdmin::ConsumerAdmin interface.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_CONSUMERADMIN_I_H
-#define TAO_NOTIFY_CONSUMERADMIN_I_H
-#include "ace/pre.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_ID_Pool_T.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_FilterAdmin_i.h"
-#include "Notify_Event.h"
-#include "Notify_Listeners.h"
-#include "Notify_Collection.h"
-#include "notify_export.h"
-
-class TAO_Notify_EventChannel_i;
-class TAO_Notify_Event_Manager;
-class TAO_Notify_CO_Factory;
-class TAO_Notify_POA_Factory;
-class TAO_Notify_EMO_Factory;
-class TAO_Notify_Collection_Factory;
-class TAO_Notify_Worker_Task;
-class TAO_Notify_Event_Processor;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_ConsumerAdmin_i
- *
- * @brief TAO_Notify_ConsumerAdmin_i
- *
- * Implements the CosNotifyChannelAdmin::ConsumerAdmin interface.
- */
-class TAO_Notify_Export TAO_Notify_ConsumerAdmin_i : public TAO_Notify_EventListener, public POA_CosNotifyChannelAdmin::ConsumerAdmin, public PortableServer::RefCountServantBase
-{
-
- public:
- /// Constructor
- /// <myChannel> is this objects parent.
- TAO_Notify_ConsumerAdmin_i (TAO_Notify_EventChannel_i* myChannel);
-
- /// Destructor
- virtual ~TAO_Notify_ConsumerAdmin_i (void);
-
- // = TAO_Notify_RefCounted
- virtual CORBA::ULong _incr_refcnt (void);
- virtual CORBA::ULong _decr_refcnt (void);
-
- // = The Servant methods
- virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL);
- virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- //= TAO_Notify_EventListener methods
- /// Callback methods to supply the event to the listener.
- virtual void dispatch_event (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- /// Evaluates true if this event is acceptable by the listener.
- virtual CORBA::Boolean evaluate_filter (TAO_Notify_Event &event, CORBA::Boolean eval_parent ACE_ENV_ARG_DECL);
-
- /// Ask the listener to relinqish any bindings and prepare to be disposed.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- /// The Worker task associated with the event listener for event dispatching
- virtual TAO_Notify_Worker_Task* event_dispatch_task (void);
-
- /// The Worker task associated with the event listener for filter evaluation.
- ///= Admin Methods.
- virtual TAO_Notify_Worker_Task* filter_eval_task (void);
-
- /// Initialize the Consumer Admin.
- void init (CosNotifyChannelAdmin::AdminID myID,
- CosNotifyChannelAdmin::InterFilterGroupOperator myOperator,
- PortableServer::POA_ptr my_POA
- ACE_ENV_ARG_DECL);
-
- /// Return the CORBA object for this servant.
- CosNotifyChannelAdmin::ConsumerAdmin_ptr get_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Accesor for the event manager.
- TAO_Notify_Event_Manager* get_event_manager (void);
-
- /// Get our filter admin.
- TAO_Notify_FilterAdmin_i& get_filter_admin (void);
-
- /// Deactivate servant from <proxy_pushsupplier_POA_>.
- void deactivate_proxy_pushsupplier (PortableServer::Servant servant ACE_ENV_ARG_DECL);
-
- /// Register with parent for subscription updates.
- void register_listener (TAO_Notify_EventListener *listener ACE_ENV_ARG_DECL);
-
- /// Unregister with parent from subscription updates.
- void unregister_listener (TAO_Notify_EventListener *listener ACE_ENV_ARG_DECL);
-
- /// This id is no longer in use.It can be reused by <proxy_pushsupplier_ids_>
- void proxy_pushsupplier_destroyed (CosNotifyChannelAdmin::ProxyID proxyID);
-
- // = Interface methods
- virtual CosNotifyChannelAdmin::AdminID MyID (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::EventChannel_ptr MyChannel (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::InterFilterGroupOperator MyOperator (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyFilter::MappingFilter_ptr priority_filter (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void priority_filter (
- CosNotifyFilter::MappingFilter_ptr priority_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyFilter::MappingFilter_ptr lifetime_filter (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void lifetime_filter (
- CosNotifyFilter::MappingFilter_ptr lifetime_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyIDSeq * pull_suppliers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyIDSeq * push_suppliers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxySupplier_ptr get_proxy_supplier (
- CosNotifyChannelAdmin::ProxyID proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ProxyNotFound
- ));
-
-virtual CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_pull_supplier (
- CosNotifyChannelAdmin::ClientType ctype,
- CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ));
-
-virtual CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_push_supplier (
- CosNotifyChannelAdmin::ClientType ctype,
- CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ));
-
-virtual void destroy (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotification::QoSProperties * get_qos (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-virtual void validate_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-virtual void subscription_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
-virtual CosNotifyFilter::FilterID add_filter (
- CosNotifyFilter::Filter_ptr new_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
-virtual CosNotifyFilter::Filter_ptr get_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
-virtual CosNotifyFilter::FilterIDSeq * get_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-protected:
- // = Helper methods
- /// Destroy CA
- void destroy_i (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Obtain a proxy pushsupplier object
- CORBA::Object_ptr obtain_struct_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- /// Obtain a structured proxy pushsupplier object.
- CORBA::Object_ptr obtain_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- /// Obtain a sequence proxy pushsupplier object.
- CORBA::Object_ptr obtain_sequence_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- // = Data members
- /// The locking strategy.
- ACE_Lock* lock_;
-
- /// The reference count.
- CORBA::ULong refcount_;
-
- /// Flag to tell if the child poa's should be destroyed.
- CORBA::Boolean destory_child_POAs_;
-
- /// The channel to which we belong.
- TAO_Notify_EventChannel_i* event_channel_;
-
- /// The factory for channel objects.
- TAO_Notify_CO_Factory* channel_objects_factory_;
-
- /// The factory for POA based containers.
- TAO_Notify_POA_Factory* poa_factory_;
-
- /// Event manager objects factory,
- TAO_Notify_EMO_Factory* event_manager_objects_factory_;
-
- /// Collection objects factory
- TAO_Notify_Collection_Factory* collection_factory_;
-
- /// The event manager to use.
- TAO_Notify_Event_Manager* event_manager_;
-
- /// The inter filter operator to use.
- CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator_;
-
- /// My ID.
- CosNotifyChannelAdmin::AdminID my_id_;
-
- /// The POA in which we live.
- PortableServer::POA_var my_POA_;
-
- /// The POA in which all our push suppliers live.
- /// We create and own this POA.
- PortableServer::POA_var proxy_pushsupplier_POA_;
-
- /// The list of event types that all our proxys are interested in receiving.
- TAO_Notify_EventType_List subscription_list_;
-
- /// The list of event listeners that have registered with us
- TAO_Notify_EventListener_List* event_listener_list_;
-
- /// Id generator for proxy push suppliers.
- TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ProxyID,
- CosNotifyChannelAdmin::ProxyIDSeq> proxy_pushsupplier_ids_;
-
- /// Handle QoS admin methods.
- TAO_Notify_QoSAdmin_i qos_admin_;
-
- /// Handles the Filter Admin methods.
- TAO_Notify_FilterAdmin_i filter_admin_;
-
- /// The dispatching task to send events to a listener group affiliated with this admin.
- TAO_Notify_Worker_Task* dispatching_task_;
-
- /// The filter evaluation task for this admin.
- TAO_Notify_Worker_Task* filter_eval_task_;
-};
-
-/****************************************************************************************************/
-
-/**
- * @class TAO_Notify_Filter_Command_Worker
- *
- * @brief TAO_Notify_Filter_Command_Worker
- *
- * Enqueue each listener for the filter evaluation command.
- */
-class TAO_Notify_Export TAO_Notify_Filter_Command_Worker : public TAO_ESF_Worker<TAO_Notify_EventListener>
-{
-public:
- TAO_Notify_Filter_Command_Worker (TAO_Notify_Event* event, TAO_Notify_Event_Processor* event_processor, CORBA::Boolean eval_parent);
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL);
-
-protected:
- TAO_Notify_Event* event_;
- TAO_Notify_Event_Processor* event_processor_;
- CORBA::Boolean eval_parent_;
-};
-
-/****************************************************************************************************/
-
-/**
- * @class TAO_Notify_Dispatch_Command_Worker
- *
- * @brief TAO_Notify_Dispatch_Command_Worker
- *
- * Worker to invoke the dispatch command for each member of the collection.
- */
-class TAO_Notify_Export TAO_Notify_Dispatch_Command_Worker : public TAO_ESF_Worker<TAO_Notify_EventListener>
-{
-public:
- TAO_Notify_Dispatch_Command_Worker (TAO_Notify_Event* event, TAO_Notify_Event_Processor* event_processor);
- ~TAO_Notify_Dispatch_Command_Worker ();
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL);
-
-protected:
- TAO_Notify_Event* event_;
- TAO_Notify_Event_Processor* event_processor_;
-};
-
-/****************************************************************************************************/
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_CONSUMERADMIN_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.cpp
deleted file mode 100644
index 45ae9463e96..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.cpp
+++ /dev/null
@@ -1,493 +0,0 @@
-// $Id$
-#include "Notify_Event.h"
-
-#include "tao/debug.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Notify_Event.i"
-#endif /* __ACE_INLINE__ */
-
-
-ACE_RCSID(Notify, Notify_Event, "$Id$")
-
-// @@ Pradeep: David is going to give you a hard time from having a
-// static object
-TAO_Notify_EventType
-TAO_Notify_EventType::special_event_type_ ("*", "%ALL");
-
-// @@ You can probably get away returning this stuff by value, and
-// creating it on the fly, assuming there aren't too many calls to
-// this.
-TAO_Notify_EventType&
-TAO_Notify_EventType::special_event_type (void)
-{
- return special_event_type_;
-}
-
-TAO_Notify_EventType::TAO_Notify_EventType (void)
-{
- // No-Op.
-}
-
-void
-TAO_Notify_EventType::init_i (const char* domain_name,
- const char* type_name)
-{
- this->event_type_.domain_name = domain_name;
- this->event_type_.type_name = type_name;
-
- if (this->is_special () == 1)
- {
- this->event_type_.domain_name = "*";
- this->event_type_.type_name = "%ALL";
- }
-
- this->recompute_hash ();
-}
-
-TAO_Notify_EventType::TAO_Notify_EventType (const char* domain_name,
- const char* type_name)
-{
- this->init_i (domain_name, type_name);
-}
-
-TAO_Notify_EventType::TAO_Notify_EventType (const CosNotification::EventType& event_type)
-{
- this->init_i (event_type.domain_name.in (),event_type.type_name.in ());
-}
-
-TAO_Notify_EventType::~TAO_Notify_EventType ()
-{
-}
-
-u_long
-TAO_Notify_EventType::hash (void) const
-{
- // @@ Pradeep: this is an excellent candidate for an inline
- // function. Get in the habit of creating .h, .cpp and .i files,
- // even if initially the .i file is empty, that way it is easier to
- // do this stuff.
- return this->hash_value_;
-}
-
-void
-TAO_Notify_EventType::recompute_hash (void)
-{
- // @@ Pradeep: this code is bound to crash someday if the strings
- // are too long.... See if the hash_pjw () function can be modified
- // to take accumulate multiple strings, as in:
- // hash = ACE::hash_pjw_accummulate (0, str1);
- // hash = ACE::hash_pjw_accummulate (hash, str2);
- //
- // @@ Or use grow the buffer when needed, or just add the two hash
- // values or something, but fix this code!
- //
- char buffer[BUFSIZ];
- ACE_OS::strcpy (buffer, this->event_type_.domain_name.in ());
- ACE_OS::strcat (buffer, this->event_type_.type_name.in ());
-
- this->hash_value_ = ACE::hash_pjw (buffer);
-}
-
-void
-TAO_Notify_EventType::operator=(const CosNotification::EventType& rhs)
-{
- this->init_i (rhs.domain_name.in (),rhs.type_name.in ());
-}
-
-void
-TAO_Notify_EventType::operator=(CosNotification::EventType& rhs)
-{
- this->init_i (rhs.domain_name.in (),rhs.type_name.in ());
-}
-
-int
-TAO_Notify_EventType::operator==(const TAO_Notify_EventType& rhs) const
-{
- if (this->hash () != rhs.hash ())
- return 0;
- else // compare the strings
- return (ACE_OS::strcmp (this->event_type_.type_name, rhs.event_type_.type_name) == 0 &&
- ACE_OS::strcmp (this->event_type_.domain_name, rhs.event_type_.domain_name) == 0
- );
-}
-
-CORBA::Boolean
-TAO_Notify_EventType::is_special (void) const
-{
- if ((this->event_type_.domain_name == 0 ||
- ACE_OS::strcmp (this->event_type_.domain_name, "") == 0 ||
- ACE_OS::strcmp (this->event_type_.domain_name, "*") == 0) &&
- (this->event_type_.type_name == 0 ||
- ACE_OS::strcmp (this->event_type_.type_name, "") == 0 ||
- ACE_OS::strcmp (this->event_type_.type_name, "*") == 0 ||
- ACE_OS::strcmp (this->event_type_.type_name, "%ALL") == 0))
- return 1;
- else
- return 0;
-}
-
-const CosNotification::EventType&
-TAO_Notify_EventType::get_native (void) const
-{
- return event_type_;
-}
-
-// ****************************************************************
-
-TAO_Notify_Event::TAO_Notify_Event (void)
- :lock_ (0),
- refcount_ (1),
- event_reliability_ (CosNotification::BestEffort),
- priority_ (CosNotification::DefaultPriority),
- // start_time_ (0),
- // stop_time_ (0),
- timeout_ (0)
-{
- ACE_NEW (this->lock_, ACE_Lock_Adapter<TAO_SYNCH_MUTEX> ());
-}
-
-TAO_Notify_Event::~TAO_Notify_Event ()
-{
- delete this->lock_;
- this->lock_ = 0;
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "in ~TAO_Notify_Event %X\n", this));
-}
-
-
-void
-TAO_Notify_Event::_incr_refcnt (void)
-{
- ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
- this->refcount_++;
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "in TAO_Notify_Event %X incr %d\n", this, this->refcount_));
-}
-
-void
-TAO_Notify_Event::_decr_refcnt (void)
-{
- int delete_me = 0;
-
- {
- ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
- this->refcount_--;
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "in TAO_Notify_Event %X decr %d\n", this, this->refcount_));
-
- if (this->refcount_ == 0)
- delete_me = 1;
- }
-
- if (delete_me == 1)
- delete this;
-}
-
-// ****************************************************************
-
-// = Any Event Type.
-
-TAO_Notify_Any::TAO_Notify_Any (CORBA::Any * data)
- :data_ (data),
- is_owner_ (1)
-{
-}
-
-TAO_Notify_Any::TAO_Notify_Any (const CORBA::Any * data)
- :data_ ((CORBA::Any*)data),
- is_owner_ (0)
-{
-}
-
-TAO_Notify_Any::~TAO_Notify_Any ()
-{
- if (this->is_owner_)
- delete this->data_;
-}
-
-TAO_Notify_Event*
-TAO_Notify_Any::clone (void)
-{
- TAO_Notify_Any* clone;
-
- if (this->is_owner_)
- {
- // @@ Are you sure this is the right way to clone? You are
- // stealing the data from the original class...
- ACE_NEW_RETURN (clone, TAO_Notify_Any ((CORBA::Any const *)this->data_),
- 0);
- this->is_owner_ = 0;
- }
- else
- {
- CORBA::Any * data_copy;
- ACE_NEW_RETURN (data_copy, CORBA::Any (*this->data_), 0);
- ACE_NEW_RETURN (clone, TAO_Notify_Any (data_copy), 0);
-
- // Later: cleanup data_copy if this new fails.
- }
-
- return clone;
-}
-
-void
-TAO_Notify_Any::operator=(const TAO_Notify_Any& notify_any)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "In TAO_Notify_Any::operator=\n"));
-
- if (this->is_owner_)
- delete data_;
-
- ACE_NEW (this->data_,
- CORBA::Any (*notify_any.data_));
-
- this->is_owner_ = 1;
-}
-
-CORBA::Boolean
-TAO_Notify_Any::is_special_event_type (void) const
-{
- return 1;
-}
-
-const TAO_Notify_EventType&
-TAO_Notify_Any::event_type (void) const
-{
- return TAO_Notify_EventType::special_event_type ();
-}
-
-CORBA::Boolean
-TAO_Notify_Any::do_match (CosNotifyFilter::Filter_ptr filter
- ACE_ENV_ARG_DECL)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_Any::do_match ()\n"));
-
- return filter->match (*this->data_ ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Any::do_push (CosEventComm::PushConsumer_ptr consumer
- ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_Any::do_push ("
- "CosEventComm::PushConsumer_ptr)\n"));
-
- consumer->push (*this->data_ ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Any::do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer
- ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_Any::do_push ("
- "CosNotifyComm::StructuredPushConsumer_ptr)\n"));
-
- // translation pg. 28
- CosNotification::StructuredEvent event;
- event.remainder_of_body <<= *this->data_;
- event.header.fixed_header.event_type.type_name = CORBA::string_dup ("%ANY");
- event.header.fixed_header.event_type.domain_name = CORBA::string_dup ("");
-
- consumer->push_structured_event (event ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Any::do_push (CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& /*qos_admin*/,
- CosNotification::EventBatch& /*unsent*/,
- int /*flush_queue*/
- ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_Any::do_push ("
- "CosNotifyComm::SequencePushConsumer_ptr)\n"));
-
- // translation pg. 28
- CosNotification::StructuredEvent event;
- event.remainder_of_body <<= *this->data_;
- event.header.fixed_header.event_type.type_name = CORBA::string_dup ("%ANY");
- event.header.fixed_header.event_type.domain_name = CORBA::string_dup ("");
-
- CosNotification::EventBatch events;
- events.length (1);
- events[0] = event;
-
- consumer->push_structured_events (events ACE_ENV_ARG_PARAMETER);
-}
-
-// ****************************************************************
-
-// = TAO_Notify_StructuredEvent
-
-// @@ Pradeep: many of the same comments that i made for
-// TAO_Notify_Any apply here too.
-
-TAO_Notify_StructuredEvent::TAO_Notify_StructuredEvent (CosNotification::StructuredEvent * notification)
- :data_ (notification),
- event_type_ (notification->header.fixed_header.event_type),
- is_owner_ (1)
-{
-
- this->init_QoS ();
-}
-
-TAO_Notify_StructuredEvent::TAO_Notify_StructuredEvent (const CosNotification::StructuredEvent * notification)
- :data_ ((CosNotification::StructuredEvent*)notification),
- event_type_ (notification->header.fixed_header.event_type),
- is_owner_ (0)
-{
-}
-
-TAO_Notify_StructuredEvent::~TAO_Notify_StructuredEvent ()
-{
- if (this->is_owner_)
- delete this->data_;
-}
-
-void
-TAO_Notify_StructuredEvent::init_QoS (void)
-{
- CosNotification::PropertySeq& qos = this->data_->header.variable_header;
-
- for (CORBA::ULong index = 0; index < qos.length (); ++index)
- {
- ACE_CString property_name (qos[index].name);
-
- if (property_name.compare (CosNotification::Priority) == 0)
- {
- qos[index].value >>= this->priority_;
- }
- else if (property_name.compare (CosNotification::StartTime) == 0)
- {
- // qos[index].value >>= this->start_time_;
- }
- else if (property_name.compare (CosNotification::StopTime) == 0)
- {
- // qos[index].value >>= this->stop_time_;
- }
- else if (property_name.compare (CosNotification::Timeout) == 0)
- {
- qos[index].value >>= this->timeout_;
- }
- }
-}
-
-TAO_Notify_Event*
-TAO_Notify_StructuredEvent::clone (void)
-{
- TAO_Notify_StructuredEvent* clone;
-
- if (this->is_owner_)
- {
- ACE_NEW_RETURN (clone, TAO_Notify_StructuredEvent ((CosNotification::StructuredEvent const *) this->data_), 0);
- this->is_owner_ = 0;
- }
- else
- {
- CosNotification::StructuredEvent *data_copy;
- ACE_NEW_RETURN (data_copy, CosNotification::StructuredEvent (*this->data_),
- 0);
- ACE_NEW_RETURN (clone, TAO_Notify_StructuredEvent (data_copy), 0);
- // Later: cleanup *data_copy if this new fails.
- clone->is_owner_ = 1;
- }
-
- return clone;
-}
-
-void
-TAO_Notify_StructuredEvent::operator=(const TAO_Notify_StructuredEvent& structured_event)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "In TAO_Notify_StructuredEvent::operator=\n"));
-
- if (this->is_owner_)
- delete this->data_;
-
- ACE_NEW (this->data_,
- CosNotification::StructuredEvent (*structured_event.data_));
-
- this->is_owner_ = 1;
- this->event_type_ = structured_event.data_->header.fixed_header.event_type;
-}
-
-CORBA::Boolean
-TAO_Notify_StructuredEvent::is_special_event_type (void) const
-{
- return this->event_type_.is_special ();
-}
-
-const TAO_Notify_EventType&
-TAO_Notify_StructuredEvent::event_type (void) const
-{
- return this->event_type_;
-}
-
-CORBA::Boolean
-TAO_Notify_StructuredEvent::do_match (CosNotifyFilter::Filter_ptr filter
- ACE_ENV_ARG_DECL)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_StructuredEvent::do_match ()\n"));
-
- return filter->match_structured (*this->data_ ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_StructuredEvent::do_push (CosEventComm::PushConsumer_ptr consumer
- ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_StructuredEvent::do_push ("
- "CosEventComm::PushConsumer_ptr)\n"));
-
- // translation pg. 28
- CORBA::Any any;
- any <<= *this->data_;
- // is the typecode set by this operation or do we need to set it explicity.
-
- consumer->push (any ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_StructuredEvent::do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_StructuredEvent::do_push ("
- "CosNotifyComm::StructuredPushConsumer_ptr)\n"));
-
- consumer->push_structured_event (*this->data_ ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_StructuredEvent::do_push (CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& /*qos_admin*/,
- CosNotification::EventBatch& /*unsent*/,
- int /*flush_queue*/
- ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_StructuredEvent::do_push ("
- "CosNotifyComm::SequencePushConsumer_ptr)\n"));
-
- CosNotification::EventBatch events;
- events.length (1);
- events[0] = *this->data_;
-
- consumer->push_structured_events (events ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.h
deleted file mode 100644
index f539895eddf..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.h
+++ /dev/null
@@ -1,288 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Event.h
- *
- * $Id$
- *
- * Abstraction for Notify's event types.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_EVENT_H
-#define TAO_NOTIFY_EVENT_H
-
-#include "ace/pre.h"
-#include "orbsvcs/CosNotificationC.h"
-#include "orbsvcs/TimeBaseC.h"
-#include "notify_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/CosNotifyFilterC.h"
-#include "orbsvcs/CosEventCommC.h"
-
-// Needed for the SequencePushConsumer
-class TAO_Notify_QoSAdmin_i;
-
-// @@ Pradeep: this is another case of multiple classes bunched in the
-// same file, you should really think about separating it.
-
-/**
- * @class TAO_Notify_EventType
- *
- * @brief TAO_Notify_EventType
- *
- * This type is used to compare different event types.
- * It is used by the Event Manager as a key to find subscription lists.
- */
-class TAO_Notify_Export TAO_Notify_EventType
-{
-public:
- // = Initialization and termination
- /// Constuctor
- TAO_Notify_EventType (void);
- TAO_Notify_EventType (const char* domain_name, const char* type_name);
- TAO_Notify_EventType (const CosNotification::EventType& event_type);
-
- /// Destructor
- ~TAO_Notify_EventType ();
-
- /// Hash value
- u_long hash (void) const;
-
- /// Assignment from CosNotification::EventType
- void operator=(const CosNotification::EventType& event_type);
-
- /// Assignment from CosNotification::EventType
- void operator=(CosNotification::EventType& event_type);
-
- /// == operator
- int operator==(const TAO_Notify_EventType& notify_event_type) const;
-
- /// Return the special event type.
- static TAO_Notify_EventType& special_event_type (void);
-
- /// Is this the special event (accept everything).
- CORBA::Boolean is_special (void) const;
-
- /// Get the type underneath us.
- const CosNotification::EventType& get_native (void) const;
-
-protected:
- /// Init this object.
- void init_i (const char* domain_name, const char* type_name);
-
- /// Recompute the hash value.
- void recompute_hash (void);
-
- // = Data Members
- /// The event_type that we're decorating.
- CosNotification::EventType event_type_;
-
- /// The hash value computed.
- u_long hash_value_;
-
- /// A special event type
- static TAO_Notify_EventType special_event_type_;
-};
-
-// ****************************************************************
-// @@ Pradeep: please remember to separate your classes with a line
-// like the one above. Or better yet, do not put multiple classes in
-// the same file.
-
-/**
- * @class TAO_Notify_Event
- *
- * @brief TAO_Notify_Event
- *
- * Abstraction for an event
- * This class allows us to treat event types homogenously.
- * Derived types for anys and structured events provide the implementation.
- * This the the "prototype" creational pattern.
- */
-class TAO_Notify_Export TAO_Notify_Event
-{
-public:
- /// The lock for its ref. count.
- /// Owns the lock.
- TAO_Notify_Event (void);
-
- virtual ~TAO_Notify_Event ();
-
- /// Is this the "special" event type.
- virtual CORBA::Boolean is_special_event_type (void) const = 0;
-
- /// Get the event type.
- virtual const TAO_Notify_EventType& event_type (void) const = 0;
-
- /**
- * We may need to make a copy of the underlying data if it is not owned
- * by us.
- * Note this behaviour: If this object owns the data, then we *transfer*
- * ownership of the data to the new object otherwise we copy the data
- * for the new object.
- */
- virtual TAO_Notify_Event* clone (void) = 0;
-
- /// Returns true if the filter matches.
- virtual CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL) = 0;
-
- /// Push self to <consumer>
- virtual void do_push (CosEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL) const = 0;
- virtual void do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer ACE_ENV_ARG_DECL) const = 0;
- virtual void do_push (CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& qos_admin,
- CosNotification::EventBatch& unsent,
- int flush_queue
- ACE_ENV_ARG_DECL) const = 0;
-
- // = QoS Properties.
- //
-
- /// Not implemented.
- CORBA::Short event_reliability (void);
- void event_reliability (CORBA::Short event_reliability);
-
- /// Get the event priority
- CORBA::Short priority (void);
-
- /// Set the event priority
- void priority (CORBA::Short priority);
-
- /// Earliest delivery time.
- TimeBase::UtcT start_time (void);
- void start_time (TimeBase::UtcT start_time);
-
- /// Latest absolute expiry time for this event.
- TimeBase::UtcT stop_time (void);
- void stop_time (TimeBase::UtcT stop_time);
-
- /// Relative expiry time.
- TimeBase::TimeT timeout (void);
- void timeout (TimeBase::TimeT timeout);
-
- // = Refcounted lifetime
- void _incr_refcnt (void);
- void _decr_refcnt (void);
-
-protected:
- /// The locking strategy.
- ACE_Lock* lock_;
-
- /// The reference count.
- CORBA::ULong refcount_;
-
- // = QoS properties
- CORBA::Short event_reliability_;
- CORBA::Short priority_;
- TimeBase::UtcT start_time_;
- TimeBase::UtcT stop_time_;
- TimeBase::TimeT timeout_;
-};
-
-// ****************************************************************
-
-/**
- * @class TAO_Notify_Any
- *
- * @brief TAO_Notify_Any
- *
- * This class is the concrete prototype for the Any type.
- */
-class TAO_Notify_Export TAO_Notify_Any : public TAO_Notify_Event
-{
-
-public:
- /// Refers to the data. Owns it!
- TAO_Notify_Any (CORBA::Any* data);
-
- /// Does not own data.
- TAO_Notify_Any (const CORBA::Any* data);
-
- virtual ~TAO_Notify_Any ();
-
- virtual TAO_Notify_Event* clone (void);
-
- void operator=(const TAO_Notify_Any& notify_any);
-
- virtual CORBA::Boolean is_special_event_type (void) const;
- virtual const TAO_Notify_EventType& event_type (void) const;
- virtual CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL);
- virtual void do_push (CosEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL) const;
- virtual void do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer ACE_ENV_ARG_DECL) const;
- virtual void do_push (CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& qos_admin,
- CosNotification::EventBatch& unsent,
- int flush_queue
- ACE_ENV_ARG_DECL) const;
-
-protected:
- /// The data
- CORBA::Any* data_;
-
- /// Do we own the data.
- CORBA::Boolean is_owner_;
-};
-
-// ****************************************************************
-
-/**
- * @class TAO_Notify_StructuredEvent
- *
- * @brief TAO_Notify_StructuredEvent
- *
- * This class is the concrete prototype for the Structured Event Type.
- */
-class TAO_Notify_Export TAO_Notify_StructuredEvent : public TAO_Notify_Event
-{
-public:
- TAO_Notify_StructuredEvent (CosNotification::StructuredEvent * notification);
- TAO_Notify_StructuredEvent (const CosNotification::StructuredEvent * notification);
- virtual ~TAO_Notify_StructuredEvent ();
-
- virtual TAO_Notify_Event* clone (void);
- void operator=(const TAO_Notify_StructuredEvent &structured_event);
-
- virtual CORBA::Boolean is_special_event_type (void) const;
- virtual const TAO_Notify_EventType& event_type (void) const;
- virtual CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL);
- virtual void do_push (CosEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL) const;
- virtual void do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer ACE_ENV_ARG_DECL) const;
- virtual void do_push (CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& qos_admin,
- CosNotification::EventBatch& unsent,
- int flush_queue
- ACE_ENV_ARG_DECL) const;
-
-protected:
-
- /// Load the QoS properties specified for this event from <data_>.
- void init_QoS (void);
-
- // = Data Members
- /// The data
- CosNotification::StructuredEvent* data_;
-
- /// The event type of <data_>
- TAO_Notify_EventType event_type_;
-
- /// Do we own the data.
- CORBA::Boolean is_owner_;
-};
-
-
-#if defined (__ACE_INLINE__)
-#include "Notify_Event.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-
-#endif /* TAO_NOTIFY_EVENT_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.i b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.i
deleted file mode 100644
index 2e1541c89fd..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event.i
+++ /dev/null
@@ -1,63 +0,0 @@
-// $Id$
-
-#include "Notify_Event.h"
-
-ACE_INLINE CORBA::Short
-TAO_Notify_Event::event_reliability (void)
-{
- return this->event_reliability_;
-}
-
-ACE_INLINE void
-TAO_Notify_Event::event_reliability (CORBA::Short event_reliability)
-{
- this->event_reliability_ = event_reliability;
-}
-
-ACE_INLINE CORBA::Short
-TAO_Notify_Event::priority (void)
-{
- return this->priority_;
-}
-
-ACE_INLINE void
-TAO_Notify_Event::priority (CORBA::Short priority)
-{
- this->priority_ = priority;
-}
-
-ACE_INLINE TimeBase::UtcT
-TAO_Notify_Event::start_time (void)
-{
- return this->start_time_;
-}
-
-ACE_INLINE void
-TAO_Notify_Event::start_time (TimeBase::UtcT start_time)
-{
- this->start_time_ = start_time;
-}
-
-ACE_INLINE TimeBase::UtcT
-TAO_Notify_Event::stop_time (void)
-{
- return this->stop_time_;
-}
-
-ACE_INLINE void
-TAO_Notify_Event::stop_time (TimeBase::UtcT stop_time)
-{
- this->stop_time_ = stop_time;
-}
-
-ACE_INLINE TimeBase::TimeT
-TAO_Notify_Event::timeout (void)
-{
- return this->timeout_;
-}
-
-ACE_INLINE void
-TAO_Notify_Event::timeout (TimeBase::TimeT timeout)
-{
- this->timeout_ = timeout;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.cpp
deleted file mode 100644
index 84c80dfe3f9..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// $Id$
-
-#include "Notify_Event_Dispatch_Command.h"
-#include "Notify_Listeners.h"
-#include "Notify_Event.h"
-#include "Notify_Event_Processor.h"
-
-#include "tao/debug.h"
-
-ACE_RCSID(Notify, TAO_Notify_Event_Dispatch_Command, "$Id$")
-
-TAO_Notify_Event_Dispatch_Command::TAO_Notify_Event_Dispatch_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener)
- :TAO_Notify_Command (event_processor, event),
- event_listener_ (event_listener)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "in TAO_Notify_Event_Dispatch_Command %X\n", this));
-
- event_listener_->_incr_refcnt ();
- this->event_->_incr_refcnt ();
-}
-
-TAO_Notify_Event_Dispatch_Command::~TAO_Notify_Event_Dispatch_Command ()
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "in ~TAO_Notify_Event_Dispatch_Command %X\n", this));
-
- event_listener_->_decr_refcnt ();
- this->event_->_decr_refcnt ();
-}
-
-int
-TAO_Notify_Event_Dispatch_Command::execute (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->event_listener_->dispatch_event (*this->event_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.h
deleted file mode 100644
index 9b2f7baf96b..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Event_Dispatch_Command.h
- *
- * $Id$
- *
- * Definition for the Command object responsible for dispatching events to consumers.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_EVENT_DISPATCH_COMMAND_H
-#define TAO_NOTIFY_EVENT_DISPATCH_COMMAND_H
-
-#include "ace/pre.h"
-#include "Notify_Command.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-class TAO_Notify_Event;
-class TAO_Notify_EventListener;
-class TAO_Notify_Worker_Task;
-
- /**
- * @class TAO_Notify_Event_Dispatch_Command
- *
- * @brief TAO_Notify_Event_Dispatch_Command
- *
- * The Command for dispatching to a consumer.
- */
-class TAO_Notify_Export TAO_Notify_Event_Dispatch_Command : public TAO_Notify_Command
-{
- public:
- // = Initialization and termination code.
- TAO_Notify_Event_Dispatch_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener);
-
- ~TAO_Notify_Event_Dispatch_Command ();
-
- /// Command callback
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
-
- protected:
- // = Data Members
- TAO_Notify_EventListener* event_listener_;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_EVENT_DISPATCH_COMMAND_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp
deleted file mode 100644
index a2628852f52..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-// $Id$
-
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_Factory.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Update_Dispatch_Command.h"
-#include "Notify_AdminProperties.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_EventChannel_i.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Notify_Event_Manager.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Notify, Notify_Event_Manager, "$Id$")
-
-TAO_Notify_Event_Manager::TAO_Notify_Event_Manager (TAO_Notify_EventChannel_i* event_channel, TAO_Notify_EMO_Factory* emo_factory)
- :event_channel_ (event_channel),
- event_map_ (0),
- event_processor_ (0),
- updates_dispatching_task_ (0),
- emo_factory_ (emo_factory),
- admin_properties_ (0)
-{
-}
-
-TAO_Notify_Event_Manager::~TAO_Notify_Event_Manager ()
-{
- delete this->event_map_;
- delete this->event_processor_;
- delete this->lock_;
- delete this->admin_properties_;
-
- this->emo_factory_->destroy_updates_task (this->updates_dispatching_task_);
-}
-
-void
-TAO_Notify_Event_Manager::init (ACE_ENV_SINGLE_ARG_DECL)
-{
- ACE_NEW_THROW_EX (this->lock_,
- ACE_Lock_Adapter<TAO_SYNCH_MUTEX> (),
- CORBA::NO_MEMORY ());
-
- // Create members.
-
- this->admin_properties_ = new TAO_Notify_AdminProperties ();
-
- this->event_map_ =
- this->emo_factory_->create_event_map (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_processor_ =
- this->emo_factory_->create_event_processor (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->updates_dispatching_task_ =
- this->emo_factory_->create_updates_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Init the objects
- this->event_map_->init (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_Notify_QoSAdmin_i* qos_admin =
- (TAO_Notify_QoSAdmin_i*)&(this->event_channel_->qos_admin ());
-
- this->event_processor_->init (qos_admin ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (this->updates_dispatching_task_->init_task (
- this->admin_properties_,
- qos_admin) != 0)
- {
- // Some error has ocurred.
- ACE_THROW (CORBA::UNKNOWN ());
- }
-}
-
-void
-TAO_Notify_Event_Manager::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- this->event_processor_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_map_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->updates_dispatching_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Manager::subscribe_for_events (TAO_Notify_EventListener* event_listener, const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
-{
- TAO_Notify_EventType_List added_update, removed_update;
-
- this->event_map_->subscribe_for_events (event_listener, added_update,
- added ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_map_->unsubscribe_from_events (event_listener, removed_update,
- removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // if either of the lists are *not* empty, send updates
- if (added_update.is_empty () == 0 || removed_update.is_empty () == 0)
- this->dispatch_updates_i (this->event_map_->subscription_change_listeners (),
- added_update, removed_update ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Manager::update_publication_list (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
-{
- TAO_Notify_EventType_List added_list;
- TAO_Notify_EventType_List removed_list;
-
- this->event_map_->update_publication_list (added, removed,
- added_list, removed_list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // if either of the lists are *not* empty, send updates
- if (added_list.is_empty () == 0 || removed_list.is_empty () == 0)
- this->dispatch_updates_i (this->event_map_->publication_change_listeners (),
- added_list, removed_list ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Manager::update_task_admins (void)
-{
- this->updates_dispatching_task_->update_admin (*this->admin_properties_);
-}
-
-void
-TAO_Notify_Event_Manager::dispatch_updates_i (TAO_Notify_UpdateListener_List* update_listener_list, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed ACE_ENV_ARG_DECL)
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
-
- TAO_Notify_Update_Worker update_worker (this->updates_dispatching_task_,
- added, removed);
-
- update_listener_list->for_each (&update_worker ACE_ENV_ARG_PARAMETER);
-}
-
-/********************************************************************/
-
-TAO_Notify_Update_Worker::TAO_Notify_Update_Worker (TAO_Notify_Worker_Task * updates_dispatching_task, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed)
- : added_ (added),
- removed_ (removed),
- updates_dispatching_task_ (updates_dispatching_task)
-{
-}
-
-void
-TAO_Notify_Update_Worker::work (TAO_Notify_UpdateListener* listener ACE_ENV_ARG_DECL)
-{
- TAO_Notify_Update_Dispatch_Command* mb =
- new TAO_Notify_Update_Dispatch_Command (listener, this->added_,
- this->removed_);
-
- this->updates_dispatching_task_->process_event (mb ACE_ENV_ARG_PARAMETER);
-}
-
-/********************************************************************/
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Hash_Map_Entry<TAO_Notify_EventType, TAO_Notify_EventListener_List *>;
-template class ACE_Hash_Map_Manager<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash<TAO_Notify_EventType>;
-template class ACE_Equal_To<TAO_Notify_EventType>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Hash_Map_Entry<TAO_Notify_EventType, TAO_Notify_EventListener_List *>
-#pragma instantiate ACE_Hash_Map_Manager<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<TAO_Notify_EventType, TAO_Notify_EventListener_List *,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<TAO_Notify_EventType, TAO_Notify_EventListener_List *,ACE_Hash<TAO_Notify_EventType>, ACE_Equal_To<TAO_Notify_EventType>,TAO_SYNCH_MUTEX>
-#pragma instantiate template ACE_Hash<TAO_Notify_EventType>
-#pragma instantiate template ACE_Equal_To<TAO_Notify_EventType>
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h
deleted file mode 100644
index 527d0c66728..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Event_Manager.h
- *
- * $Id$
- *
- * An Event Manager for the Notification Service.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_EVENT_MANAGER
-#define TAO_NOTIFY_EVENT_MANAGER
-#include "ace/pre.h"
-#include "orbsvcs/CosNotificationC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "notify_export.h"
-#include "Notify_Listeners.h"
-#include "Notify_Collection.h"
-
-class TAO_Notify_EventChannel_i;
-class TAO_Notify_Event;
-class TAO_Notify_Event_Processor;
-class TAO_Notify_Event_Map;
-class TAO_Notify_Update_Dispatcher;
-class TAO_Notify_EventSource;
-class TAO_Notify_EventListener;
-class TAO_Notify_Worker_Task;
-class TAO_Notify_EMO_Factory;
-class TAO_Notify_Event_Processor;
-class TAO_Notify_AdminProperties;
-
-/**
- * @class TAO_Notify_Event_Manager
- *
- * @brief TAO_Notify_Event_Manager
- *
- * Handles all aspects of event propogation thru the channel.
- * Also keeps track of publications and subscriptions.
- */
-class TAO_Notify_Export TAO_Notify_Event_Manager
-{
-
- public:
- // = Initialization and termination code.
- /// Constructor.
- TAO_Notify_Event_Manager (TAO_Notify_EventChannel_i* parent,
- TAO_Notify_EMO_Factory* emo_factory);
-
- /// Destructor.
- ~TAO_Notify_Event_Manager ();
-
- /// Init
- void init (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Shutdown operations.
- void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- // = Publish/Subscribe management
- // = Subscription
- /// Subscribes <event_listener> for events <added>.
- /// Unsubscribes <event_listener> for events <removed>.
- void subscribe_for_events (TAO_Notify_EventListener* event_listener, const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL);
-
- // = Publications
- /// Suppliers can send anonymous requests to the Event Manager to indicate
- /// what kind of events they expect to produce.
- void update_publication_list (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL);
-
- // = Updates
- /// Registers the subscription update listener with the Event Manager.
- void register_for_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- /// Unregister from subscription updates.
- void unregister_from_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- /// Registers the publication update listener with the Event Manager.
- void register_for_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- /// Unregister from publication updates.
- void unregister_from_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- // = Accessors
- /// Obtain the publication list.
- CosNotification::EventTypeSeq* obtain_offered_types (void);
-
- /// Obtain the subscription list.
- CosNotification::EventTypeSeq* obtain_subscription_types (void);
-
- /// Get the event map.
- TAO_Notify_Event_Map* event_map (void);
-
- /// Get the Event Processor.
- TAO_Notify_Event_Processor* event_processor (void);
-
- /// Get the Admin Properties.
- TAO_Notify_AdminProperties* admin_properties (void);
-
- /// Get the Resource Factory.
- TAO_Notify_EMO_Factory* resource_factory (void);
-
- // = Event forwarding methods.
- /// Delivers the event to listeners subscribed for <event>
- /// <event_source> is the <event> source to the Event Manager.
- void process_event (TAO_Notify_Event* event,
- TAO_Notify_EventSource* event_source
- ACE_ENV_ARG_DECL);
-
- void update_task_admins (void);
-
-protected:
- // = Event dispatching methods.
- /// Dispatch the updates to the <update_listener_list>
- void dispatch_updates_i (TAO_Notify_UpdateListener_List* update_listener_list,
- TAO_Notify_EventType_List& added,
- TAO_Notify_EventType_List& removed
- ACE_ENV_ARG_DECL);
-
- // = Data members.
- /// The Event Channel that we're managing for.
- TAO_Notify_EventChannel_i * event_channel_;
-
- /// Container for event <-> source/sinks mappings.
- TAO_Notify_Event_Map* event_map_;
-
- /// Handles processing of events.
- TAO_Notify_Event_Processor * event_processor_;
-
- /// Dispatches updates to update listeners.
- TAO_Notify_Worker_Task * updates_dispatching_task_;
-
- /// Event manager objects factory.
- TAO_Notify_EMO_Factory* emo_factory_;
-
- /// The locking strategy.
- ACE_Lock* lock_;
-
- /// Admin properties.
- TAO_Notify_AdminProperties* admin_properties_;
-};
-
-/**************************************************************************/
-
- /**
- * @class TAO_Notify_Update_Worker
- *
- * @brief TAO_Notify_Update_Worker
- *
- * Worker to send update commands to the updates dispatching task.
- */
-class TAO_Notify_Export TAO_Notify_Update_Worker : public TAO_ESF_Worker<TAO_Notify_UpdateListener>
-{
- public:
- // = Initialization and termination code.
- TAO_Notify_Update_Worker (TAO_Notify_Worker_Task * updates_dispatching_task, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed);
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_UpdateListener* listener ACE_ENV_ARG_DECL);
- protected:
- // = Data members.
- /// Data to transmit.
- TAO_Notify_EventType_List& added_;
- TAO_Notify_EventType_List& removed_;
-
- /// Update dispatcher
- TAO_Notify_Worker_Task * updates_dispatching_task_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "Notify_Event_Manager.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_EVENT_MANAGER */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i
deleted file mode 100644
index 0b9af87de70..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i
+++ /dev/null
@@ -1,85 +0,0 @@
-//$Id$
-#include "Notify_Listeners.h"
-#include "Notify_Event_Map.h"
-#include "Notify_Event_Processor.h"
-#include "Notify_AdminProperties.h"
-#include "tao/corba.h"
-
-ACE_INLINE void
-TAO_Notify_Event_Manager::process_event (TAO_Notify_Event* event,
- TAO_Notify_EventSource* event_source
- ACE_ENV_ARG_DECL)
-{
- if (admin_properties_->reject_new_events () == 1
- && admin_properties_->queue_full ())
- ACE_THROW (CORBA::IMP_LIMIT ());
-
- this->event_processor_->evaluate_source_filter (event,
- event_source
- ACE_ENV_ARG_PARAMETER);
- // Start by checking if the event passes through the Source's filter.
-}
-
-ACE_INLINE void
-TAO_Notify_Event_Manager::register_for_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->event_map_->register_for_publication_updates (update_listener
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-TAO_Notify_Event_Manager::register_for_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->event_map_->register_for_subscription_updates (update_listener
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-TAO_Notify_Event_Manager:: unregister_from_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->event_map_->unregister_from_subscription_updates (update_listener
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-TAO_Notify_Event_Manager::unregister_from_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->event_map_->unregister_from_publication_updates(update_listener
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE TAO_Notify_Event_Map*
-TAO_Notify_Event_Manager::event_map (void)
-{
- return this->event_map_;
-}
-
-ACE_INLINE TAO_Notify_Event_Processor*
-TAO_Notify_Event_Manager::event_processor (void)
-{
- return this->event_processor_;
-}
-
-ACE_INLINE CosNotification::EventTypeSeq*
-TAO_Notify_Event_Manager::obtain_offered_types (void)
-{
- return this->event_map_->obtain_offered_types ();
-}
-
-ACE_INLINE CosNotification::EventTypeSeq*
-TAO_Notify_Event_Manager::obtain_subscription_types (void)
-{
- return this->event_map_->obtain_subscription_types ();
-}
-
-ACE_INLINE TAO_Notify_AdminProperties*
-TAO_Notify_Event_Manager::admin_properties (void)
-{
- return this->admin_properties_;
-}
-
-ACE_INLINE TAO_Notify_EMO_Factory*
-TAO_Notify_Event_Manager::resource_factory (void)
-{
- return this->emo_factory_;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager_Objects_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager_Objects_Factory.h
deleted file mode 100644
index e3dd51673ee..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Manager_Objects_Factory.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Event_Manager_Objects_Factory.h
- *
- * $Id$
- *
- * Interface definition of Factory for event manager objects.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef NOTIFY_EMO_FACTORY_H
-#define NOTIFY_EMO_FACTORY_H
-
-#include "ace/pre.h"
-#include "ace/Service_Object.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/corba.h"
-#include "notify_export.h"
-
-class TAO_Notify_Event_Manager;
-class TAO_Notify_Event_Map;
-class TAO_Notify_Event_Processor;
-class TAO_Notify_Worker_Task;
-class TAO_Notify_EventChannel_i;
-
- /**
- * @class TAO_Notify_EMO_Factory
- *
- * @brief TAO_Notify_EMO_Factory
- *
- * Factory interface for event manager and friends.
- */
-class TAO_Notify_Export TAO_Notify_EMO_Factory : public ACE_Service_Object
-{
- public:
- virtual ~TAO_Notify_EMO_Factory (){};
-
- /// Create an event manager.
- virtual TAO_Notify_Event_Manager* create_event_manager (TAO_Notify_EventChannel_i* channel ACE_ENV_ARG_DECL)= 0;
-
- /// Create the event map.
- virtual TAO_Notify_Event_Map* create_event_map (ACE_ENV_SINGLE_ARG_DECL)= 0;
-
- /// Create event processor.
- virtual TAO_Notify_Event_Processor* create_event_processor (TAO_Notify_Event_Manager* event_manager ACE_ENV_ARG_DECL)= 0;
-
- // = Create processing tasks.
- virtual TAO_Notify_Worker_Task* create_source_eval_task (ACE_ENV_SINGLE_ARG_DECL)= 0;
- virtual TAO_Notify_Worker_Task* create_lookup_task (ACE_ENV_SINGLE_ARG_DECL)= 0;
- virtual TAO_Notify_Worker_Task* create_listener_eval_task (ACE_ENV_SINGLE_ARG_DECL)= 0;
-
- /// Task that dispatches events.
- /// Task that dispatches updates.
- virtual TAO_Notify_Worker_Task* create_dispatching_task (ACE_ENV_SINGLE_ARG_DECL)= 0;
- virtual TAO_Notify_Worker_Task* create_updates_task (ACE_ENV_SINGLE_ARG_DECL)= 0;
-
- // Destroy processing tasks.
- virtual void destroy_source_eval_task (TAO_Notify_Worker_Task* task) = 0;
- virtual void destroy_lookup_task (TAO_Notify_Worker_Task* task) = 0;
- virtual void destroy_listener_eval_task (TAO_Notify_Worker_Task* task) = 0;
- virtual void destroy_dispatching_task (TAO_Notify_Worker_Task* task) = 0;
- virtual void destroy_updates_task (TAO_Notify_Worker_Task* task) = 0;
-
- /// bad hack. why is this here?!
- virtual void print_values (void) = 0;
-};
-
-#include "ace/post.h"
-#endif /* NOTIFY_EMO_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.cpp
deleted file mode 100644
index 7881ebdfd17..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.cpp
+++ /dev/null
@@ -1,236 +0,0 @@
-// $Id$
-
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_Event.h"
-#include "Notify_Event_Map.h"
-#include "Notify_Factory.h"
-#include "Notify_Collection.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Collection_Factory.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Notify_Event_Map.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Notify, Notify_Event_Map, "$Id$")
-
-TAO_Notify_Event_Map::TAO_Notify_Event_Map (TAO_Notify_EMO_Factory* emo_factory)
- :default_subscription_list_ (0),
- subscription_change_listeners_ (0),
- publication_change_listeners_ (0),
- emo_factory_ (emo_factory),
- collection_factory_ (TAO_Notify_Factory::get_collection_factory ())
-{
-}
-
-TAO_Notify_Event_Map::~TAO_Notify_Event_Map ()
-{
- // delete all event listener lists in the event map.
- EVENT_RECIPIENT_MAP::ITERATOR iterator (this->event_recipient_map_);
-
- for (EVENT_RECIPIENT_MAP::ENTRY *entry = 0;
- iterator.next (entry) != 0;
- iterator.advance ())
- {
- delete entry->int_id_;
- }
-
- delete default_subscription_list_;
- delete subscription_change_listeners_;
- delete publication_change_listeners_;
-}
-
-void
-TAO_Notify_Event_Map::init (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->default_subscription_list_ =
- this->collection_factory_->create_event_listener_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- // Create the default list of listeners.
-
- this->subscription_change_listeners_
- = this->collection_factory_->create_update_listener_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->publication_change_listeners_
- = this->collection_factory_->create_update_listener_list (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Map::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Shutdown all event listener lists in the event map.
- EVENT_RECIPIENT_MAP::ITERATOR iterator (this->event_recipient_map_);
-
- for (EVENT_RECIPIENT_MAP::ENTRY *entry = 0;
- iterator.next (entry) != 0;
- iterator.advance ())
- {
- entry->int_id_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- default_subscription_list_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- subscription_change_listeners_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- publication_change_listeners_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Map::subscribe_for_events (TAO_Notify_EventListener* event_listener, TAO_Notify_EventType_List& update, const CosNotification::EventTypeSeq & added ACE_ENV_ARG_DECL)
-{
- TAO_Notify_EventListener_List* event_listener_list;
- TAO_Notify_EventType event_type;
-
- for (CORBA::ULong index = 0; index < added.length (); index++)
- {
- event_type = added[index];
-#if 0
- ACE_DEBUG ((LM_DEBUG, "subscribing %x for event: %s, %s\n",
- event_listener,
- event_type.event_type_.domain_name.in (),
- event_type.event_type_.type_name.in ()));
-#endif
- if (event_type.is_special ())
- event_listener_list = default_subscription_list_;
- else if (this->event_recipient_map_.find (event_type,
- event_listener_list) == -1)
- {
- // create the list.
- TAO_Notify_EventListener_List* new_list =
- this->collection_factory_->create_event_listener_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // add the list to the recipient map.
- this->event_recipient_map_.bind (event_type, new_list);
- event_listener_list = new_list;
- }
-
- event_listener_list->connected (event_listener ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // mirror changes in the subscription list
- if (this->subscription_list_.insert (event_type) == 0)
- update.insert (event_type);
- }
-}
-
-void
-TAO_Notify_Event_Map::unsubscribe_from_events (TAO_Notify_EventListener* event_listener, TAO_Notify_EventType_List &update, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
-{
- TAO_Notify_EventListener_List* event_listener_list;
- TAO_Notify_EventType event_type;
-
- for (CORBA::ULong index = 0; index < removed.length (); index++)
- {
- event_type = removed[index];
-
- // find out if there is a event listener list for this event type.
- if (event_type.is_special ())
- event_listener_list = this->default_subscription_list_;
- else if (this->event_recipient_map_.find (event_type,
- event_listener_list) == -1)
- continue;
-
- // remove <event_listener> from the list.
-
- event_listener_list->disconnected (event_listener ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // If this was the last entry in the list then we should remove
- // the corrsponding event_type from the recipient_map.
- // However i'm going to leave the blank entries based on the assumption
- // that a system will have a fixed set of event types.
- // This way we save that cost of creating a new entry in the map and
- // its corresponding listener list when an event type seen before
- // shows up again.
- // Later we could add logic to check at non-time-critical points, if
- // the map has grown too big and prune it. (lazy evaluation).
-
- // mirror changes in the subscription list
- if (this->subscription_list_.remove (event_type) == 0)
- update.insert (event_type); // modify the update list.
- }
-}
-
-void
-TAO_Notify_Event_Map::register_for_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->publication_change_listeners_->connected (update_listener ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Map::register_for_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->subscription_change_listeners_->connected (update_listener ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Map:: unregister_from_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->subscription_change_listeners_->disconnected (update_listener ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Map::unregister_from_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL)
-{
- this->publication_change_listeners_->disconnected (update_listener ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotification::EventTypeSeq*
-TAO_Notify_Event_Map::obtain_offered_types (void)
-{
- CosNotification::EventTypeSeq* event_type_seq;
-
- ACE_NEW_RETURN (event_type_seq,
- CosNotification::EventTypeSeq(this->publication_list_.size ()),
- 0);
-
- this->publication_list_.populate (*event_type_seq);
-
- return event_type_seq;
-}
-
-CosNotification::EventTypeSeq*
-TAO_Notify_Event_Map::obtain_subscription_types (void)
-{
- CosNotification::EventTypeSeq* event_type_seq;
-
- ACE_NEW_RETURN (event_type_seq,
- CosNotification::EventTypeSeq(this->subscription_list_.size ()),
- 0);
-
- this->subscription_list_.populate (*event_type_seq);
-
- return event_type_seq;
-}
-
-void
-TAO_Notify_Event_Map::update_publication_list (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed, TAO_Notify_EventType_List &added_list, TAO_Notify_EventType_List &removed_list ACE_ENV_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
-{
- TAO_Notify_EventType event_type;
-
- CORBA::ULong len = removed.length ();
- CORBA::ULong i = 0 ;
- for (; i < len; ++i)
- {
- event_type = removed[i];
- if (this->publication_list_.remove (event_type) == 0)
- {
- removed_list.insert (event_type);
- }
- }
-
- len = added.length ();
- for (i = 0; i < len; i++)
- {
- event_type = added[i];
- if (this->publication_list_.insert (event_type) == 0)
- {
- added_list.insert (event_type);
- }
- }
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h
deleted file mode 100644
index 44281098d80..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Event_Map.h
- *
- * $Id$
- *
- * Stores information about subscription mappings
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_Event_Map_HEADER_H
-#define TAO_NOTIFY_Event_Map_HEADER_H
-#include "ace/pre.h"
-
-#include "orbsvcs/CosNotificationC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_Collection.h"
-#include "notify_export.h"
-#include "orbsvcs/ESF/ESF_Worker.h"
-
-#include "ace/Hash_Map_Manager.h"
-
-class TAO_Notify_EventListener;
-class TAO_Notify_UpdateListener;
-class TAO_Notify_EventType;
-class TAO_Notify_Collection_Factory;
-class TAO_Notify_EMO_Factory;
-
-/**
- * @class TAO_Notify_Event_Map
- *
- * @brief TAO_Notify_Event_Map
- *
- * This is a compound container consisting of:
- * - A "recipient" map : mapping between an event and its subscriibers
- * - Lists of current events being subscribed, published.
- * - Lists of subscriptions, publications update listeners.
- */
-class TAO_Notify_Export TAO_Notify_Event_Map
-{
-public:
- /// Constructor.
- TAO_Notify_Event_Map (TAO_Notify_EMO_Factory* emo_factory);
-
- /// Destructor.
- virtual ~TAO_Notify_Event_Map ();
-
- /// Init
- void init (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Shutdown releases all listeners.
- void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- // = Subscribe and Unsubscribe methods.
- void subscribe_for_events (TAO_Notify_EventListener* event_listener, TAO_Notify_EventType_List& update, const CosNotification::EventTypeSeq & added ACE_ENV_ARG_DECL);
-
- void unsubscribe_from_events (TAO_Notify_EventListener* event_listener, TAO_Notify_EventType_List &update, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL);
-
- // = Publish and Unpublish methods
- // Later:
- // Suppliers can send anonymous requests to the Event Manager to indicate
- // what kind of events they expect to produce.
- void update_publication_list (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed, TAO_Notify_EventType_List &added_list, TAO_Notify_EventType_List &removed_list ACE_ENV_ARG_DECL);
-
- // = Subscription Updates
- /// Registers the subscription update listener with the Event Manager.
- void register_for_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- /// Unregister from subscription updates.
- void unregister_from_subscription_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- // = Publication Updates
- /// Registers the publication update listener with the Event Manager.
- void register_for_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- /// Unregister from publication updates.
- void unregister_from_publication_updates (TAO_Notify_UpdateListener* update_listener ACE_ENV_ARG_DECL);
-
- // = Subscription list lookup
- int find (TAO_Notify_EventType const & event_type, TAO_Notify_EventListener_List*& event_listener_list);
-
- // = Accessors
- /// Obtain the publication list.
- CosNotification::EventTypeSeq* obtain_offered_types(void);
-
- /// Obtain the subscription list.
- CosNotification::EventTypeSeq* obtain_subscription_types (void);
-
- TAO_Notify_UpdateListener_List* subscription_change_listeners (void);
- TAO_Notify_UpdateListener_List* publication_change_listeners (void);
- TAO_Notify_EventListener_List* default_subscription_list (void);
-
-protected:
- // = Typedefs
- typedef ACE_Hash_Map_Manager <TAO_Notify_EventType,
- TAO_Notify_EventListener_List*, TAO_SYNCH_MUTEX> EVENT_RECIPIENT_MAP;
-
- // = Data Members
- /**
- * A Map of event types and the groups of event listeners interested in them.
- * The keys of the map are a list of events that consumers have currently
- * subscribed for.
- */
- EVENT_RECIPIENT_MAP event_recipient_map_;
-
- /// Save a reference to the default list, we don't want to spend time
- /// looking for it in the <event_recipient_map>.
- TAO_Notify_EventListener_List* default_subscription_list_;
-
- /// The list of event types that are being currently published by suppliers.
- TAO_Notify_EventType_List publication_list_;
-
- /**
- * The list of event types that are being currently subscribed to by
- * consumers. This list is the same as the list of keys in the
- * <event_recepient_map>. We keep a copy of that list here to reduce
- * contention for the map which will be accessed for every event that
- * enters the system.
- */
- TAO_Notify_EventType_List subscription_list_;
-
- /// This is a list of listeners that want to be notified if the subsciptions
- /// from consumers changes the <event_recipient_map_> keys.
- TAO_Notify_UpdateListener_List* subscription_change_listeners_;
-
- /// This is a list of listeners that want to be notified if the publications
- /// from suppliers changes the <publication_list_>.
- TAO_Notify_UpdateListener_List* publication_change_listeners_;
-
- /// Evenet Manager Objects factory.
- TAO_Notify_EMO_Factory* emo_factory_;
-
- /// Collection objects factory.
- TAO_Notify_Collection_Factory* collection_factory_;
-};
-
-/********************************************************************/
-
-#if defined (__ACE_INLINE__)
-#include "Notify_Event_Map.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_Event_Map_HEADER_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.i b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.i
deleted file mode 100644
index 003c4bd3e59..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Map.i
+++ /dev/null
@@ -1,29 +0,0 @@
-//$Id$
-
-#include "ace/Containers_T.h"
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_Event.h"
-
-ACE_INLINE int
-TAO_Notify_Event_Map::find (TAO_Notify_EventType const & event_type, TAO_Notify_EventListener_List*& event_listener_list)
-{
- return this->event_recipient_map_.find (event_type, event_listener_list);
-}
-
-ACE_INLINE TAO_Notify_UpdateListener_List*
-TAO_Notify_Event_Map::publication_change_listeners (void)
-{
- return publication_change_listeners_;
-}
-
-ACE_INLINE TAO_Notify_UpdateListener_List*
-TAO_Notify_Event_Map::subscription_change_listeners (void)
-{
- return subscription_change_listeners_;
-}
-
-ACE_INLINE TAO_Notify_EventListener_List*
-TAO_Notify_Event_Map::default_subscription_list (void)
-{
- return default_subscription_list_;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp
deleted file mode 100644
index ce55df28f1a..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// $Id$
-
-#include "Notify_Event_Processor.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_Source_Filter_Eval_Command.h"
-#include "Notify_Listener_Filter_Eval_Command.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Lookup_Command.h"
-#include "Notify_Event_Dispatch_Command.h"
-#include "Notify_Factory.h"
-#include "Notify_Listeners.h"
-#include "Notify_Event_Manager.h"
-#include "tao/debug.h"
-
-ACE_RCSID(Notify, Notify_Event_Processor, "$Id$")
-
-TAO_Notify_Event_Processor::TAO_Notify_Event_Processor (TAO_Notify_Event_Manager* event_manager)
- :event_manager_ (event_manager),
- lookup_task_ (0),
- emo_factory_ (0)
-{
- this->emo_factory_ = this->event_manager_->resource_factory ();
-}
-
-TAO_Notify_Event_Processor::~TAO_Notify_Event_Processor ()
-{
- delete this->lookup_task_;
-}
-
-void
-TAO_Notify_Event_Processor::init (TAO_Notify_QoSAdmin_i* qos_properties
- ACE_ENV_ARG_DECL)
-{
- this->lookup_task_ = this->emo_factory_->create_lookup_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- this->lookup_task_->init_task (admin_properties,
- qos_properties);
-}
-
-void
-TAO_Notify_Event_Processor::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->lookup_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Processor::evaluate_source_filter (TAO_Notify_Event* event,
- TAO_Notify_EventSource* event_source
- ACE_ENV_ARG_DECL)
-{
- // TODO: use cache allocator here.
- // @@ Pradeep: you shouldn't be allocating at all! If this must go
- // into a queue then the processing queue should make the
- // allocation, that way the single threaded case works just fine.
- TAO_Notify_Source_Filter_Eval_Command* mb =
- new TAO_Notify_Source_Filter_Eval_Command (this, event, event_source);
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "Evaluating listener filter\n"));
-
- event_source->filter_eval_task ()->process_event (mb ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Processor::lookup_subscriptions (TAO_Notify_Event* event,
- TAO_Notify_EventSource* /*event_source*/
- ACE_ENV_ARG_DECL)
-{
- TAO_Notify_Lookup_Command* lookup =
- new TAO_Notify_Lookup_Command (this, event, this->event_manager_->event_map ());
-
- this->lookup_task_->process_event (lookup ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Processor::evaluate_listener_filter (TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener, CORBA::Boolean eval_parent ACE_ENV_ARG_DECL)
-{
- // @@ Pradeep: you should use ACE_NEW here....
- // @@ Pradeep: do you really need to allocate this guy from the
- // heap? Maybe you can just allocate it from the stack and only if
- // somebody really wants to keep it around you make a copy? The
- // idea is to save allocations in the good case.
-
- TAO_Notify_Listener_Filter_Eval_Command* mb =
- new TAO_Notify_Listener_Filter_Eval_Command (this, event, event_listener, eval_parent);
-
- event_listener->filter_eval_task ()->process_event (mb ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_Event_Processor::dispatch_event (TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener ACE_ENV_ARG_DECL)
-{
- TAO_Notify_Event_Dispatch_Command* dispatch =
- new TAO_Notify_Event_Dispatch_Command (this, event, event_listener);
-
- event_listener->event_dispatch_task ()->process_event (dispatch ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h
deleted file mode 100644
index 5810abbd27d..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Event_Processor.h
- *
- * $Id$
- *
- * The QoS properties of "Order Policy" and "Discard Policy" can be set
- * per proxy.To accomodate this we now have an ACE_Task per proxy.
- * The TAO_Notify_Event_Processor asks each event listener and source
- * for the task object to send commands to.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-//
-
-#ifndef TAO_NOTIFY_EVENT_PROCESSOR_H
-#define TAO_NOTIFY_EVENT_PROCESSOR_H
-
-#include "ace/pre.h"
-#include "ace/Module.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Stream.h"
-#include "ace/streams.h"
-#include "tao/corba.h"
-#include "notify_export.h"
-
-class TAO_Notify_Event;
-class TAO_Notify_Event_Manager;
-class TAO_Notify_EventSource;
-class TAO_Notify_Worker_Task;
-class TAO_Notify_EMO_Factory;
-class TAO_Notify_EventListener;
-class TAO_Notify_QoSAdmin_i;
-
- /**
- * @class TAO_Notify_Event_Processor
- *
- * @brief TAO_Notify_Event_Processor
- *
- * The Event Processor.
- */
-class TAO_Notify_Export TAO_Notify_Event_Processor
-{
- public:
- // = Initialialization and termination code.
- TAO_Notify_Event_Processor (TAO_Notify_Event_Manager* event_manager);
- virtual ~TAO_Notify_Event_Processor ();
-
- /// Init
- void init (TAO_Notify_QoSAdmin_i* qos_properties
- ACE_ENV_ARG_DECL);
-
- /// Shutdown operations.
- void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Event processing entry point.
- void evaluate_source_filter (TAO_Notify_Event* event,
- TAO_Notify_EventSource* event_source
- ACE_ENV_ARG_DECL);
-
- // = Callbacks for Source/Event Listeners.
- /// This method is called by an Event_Source after it has
- /// successfully evaluated its filter.
- void lookup_subscriptions (TAO_Notify_Event* event,
- TAO_Notify_EventSource* event_source
- ACE_ENV_ARG_DECL);
-
- /// This method is called by the subscription lookup command asking
- /// that <event> be delivered to <event_listener>.
- void evaluate_listener_filter (TAO_Notify_Event* event,
- TAO_Notify_EventListener* event_listener,
- CORBA::Boolean eval_parent
- ACE_ENV_ARG_DECL);
-
- /// This method is called by an Event_Listener after it has
- /// successfully evaluated its filter.
- void dispatch_event (TAO_Notify_Event* event,
- TAO_Notify_EventListener* event_listener
- ACE_ENV_ARG_DECL);
-
-protected:
- // = Data Members
- /// The Event Manager
- TAO_Notify_Event_Manager* event_manager_;
-
- TAO_Notify_Worker_Task* lookup_task_;
-
- /// Factory for manager ojects
- TAO_Notify_EMO_Factory* emo_factory_;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_EVENT_PROCESSOR_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.cpp
deleted file mode 100644
index 99ac21f7715..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// $Id$
-
-#include "ace/Dynamic_Service.h"
-#include "Notify_Factory.h"
-#include "Notify_Default_CO_Factory.h"
-#include "Notify_Default_POA_Factory.h"
-#include "Notify_Default_Collection_Factory.h"
-#include "Notify_Default_EMO_Factory.h"
-#include "Notify_Event.h"
-
-ACE_RCSID(Notify, Notify_Factory, "$Id$")
-
-TAO_Notify_CO_Factory* TAO_Notify_Factory::co_factory_ = 0;
-TAO_Notify_POA_Factory* TAO_Notify_Factory::poa_factory_ = 0;
-TAO_Notify_Collection_Factory* TAO_Notify_Factory::collection_factory_ = 0;
-TAO_Notify_EMO_Factory* TAO_Notify_Factory::emo_factory_ = 0;
-
-void
-TAO_Notify_Factory::init (ACE_ENV_SINGLE_ARG_DECL)
-{
- co_factory_ =
- ACE_Dynamic_Service <TAO_Notify_CO_Factory>::instance (TAO_NOTIFY_DEF_CO_FACTORY_NAME);
-
- if (co_factory_ == 0)
- {
- ACE_NEW_THROW_EX (co_factory_,
- TAO_Notify_Default_CO_Factory (),
- CORBA::NO_MEMORY ());
- }
-
- poa_factory_ =
- ACE_Dynamic_Service <TAO_Notify_POA_Factory>::instance (TAO_NOTIFY_DEF_POA_FACTORY_NAME);
-
- if (poa_factory_ == 0)
- {
- ACE_NEW_THROW_EX (poa_factory_,
- TAO_Notify_Default_POA_Factory (),
- CORBA::NO_MEMORY ());
- }
-
- collection_factory_ =
- ACE_Dynamic_Service <TAO_Notify_Collection_Factory>::instance (TAO_NOTIFY_DEF_COLLECTION_FACTORY_NAME);
-
- if (collection_factory_ == 0)
- {
- ACE_NEW_THROW_EX (collection_factory_,
- TAO_Notify_Default_Collection_Factory (),
- CORBA::NO_MEMORY ());
- }
-
- emo_factory_ =
- ACE_Dynamic_Service <TAO_Notify_EMO_Factory>::instance (TAO_NOTIFY_DEF_EMO_FACTORY_NAME);
-
- if (emo_factory_ == 0)
- ACE_DEBUG ((LM_DEBUG, "Unable to load Event Manager factory...\n"));
- else
- {
- ACE_DEBUG ((LM_DEBUG, "Loaded Event Manager factory...\n"));
- emo_factory_->print_values ();
- }
-}
-
-void
-TAO_Notify_Factory::shutdown (void)
-{
- // @@
-}
-
-TAO_Notify_CO_Factory*
-TAO_Notify_Factory::get_channel_objects_factory (void)
-{
- return TAO_Notify_Factory::co_factory_;
-}
-
-TAO_Notify_POA_Factory*
-TAO_Notify_Factory::get_poa_factory (void)
-{
- return TAO_Notify_Factory::poa_factory_;
-}
-
-TAO_Notify_Collection_Factory*
-TAO_Notify_Factory::get_collection_factory (void)
-{
- return TAO_Notify_Factory::collection_factory_;
-}
-
-TAO_Notify_EMO_Factory*
-TAO_Notify_Factory::create_event_manager_objects_factory (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- TAO_Notify_Default_EMO_Factory* local_emo_fact;
- ACE_NEW_THROW_EX (local_emo_fact,
- TAO_Notify_Default_EMO_Factory (),
- CORBA::NO_MEMORY ());
-
- local_emo_fact->init_instance ();
- // @@ check return value
- return local_emo_fact;
-}
-
-// ****************************************************************
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Dynamic_Service<TAO_Notify_CO_Factory>;
-template class ACE_Dynamic_Service<TAO_Notify_POA_Factory>;
-template class ACE_Dynamic_Service<TAO_Notify_Collection_Factory>;
-template class ACE_Dynamic_Service<TAO_Notify_EMO_Factory>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Dynamic_Service<TAO_Notify_Resource_Factory>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.h
deleted file mode 100644
index 6aa9522e3a1..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Factory.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Factory.h
- *
- * $Id$
- *
- * A collection of factories -
- * a) A factory for event channel objects - the EC factory, EC, Admins, Proxys, et al.
- * b) A factory for collections.
- * c) A factory for POA's.
- * d) A factory for manager objects.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef NOTIFY_FACTORY_H
-#define NOTIFY_FACTORY_H
-
-#include "ace/pre.h"
-#include "tao/corba.h"
-#include "notify_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-class TAO_Notify_CO_Factory;
-class TAO_Notify_POA_Factory;
-class TAO_Notify_Collection_Factory;
-class TAO_Notify_EMO_Factory;
-class TAO_Notify_EventChannelFactory_i;
-
- /**
- * @class TAO_Notify_Factory
- *
- * @brief TAO_Notify_Factory
- *
- * This classes initializes the static default factories.
- */
-class TAO_Notify_Export TAO_Notify_Factory
-{
- public:
- /// The factory for channel objects.
- static TAO_Notify_CO_Factory* get_channel_objects_factory (void);
-
- /// The factory for POA's.
- static TAO_Notify_POA_Factory* get_poa_factory (void);
-
- /// Factory for all collections in the notify service.
- static TAO_Notify_Collection_Factory* get_collection_factory (void);
-
- /// The event manager objects.
- static TAO_Notify_EMO_Factory* create_event_manager_objects_factory (void);
-
- protected:
- friend class TAO_Notify_EventChannelFactory_i;
-
- /// Initalize the services.
- static void init (ACE_ENV_SINGLE_ARG_DECL);
-
- /// shutdown the svcs.
- static void shutdown (void);
-
- // = Data Members
- static TAO_Notify_CO_Factory* co_factory_;
- static TAO_Notify_POA_Factory* poa_factory_;
- static TAO_Notify_Collection_Factory* collection_factory_;
- static TAO_Notify_EMO_Factory* emo_factory_;
-};
-
-#define TAO_NOTIFY_DEF_CO_FACTORY_NAME "Notify_Default_Channel_Objects_Factory"
-#define TAO_NOTIFY_DEF_POA_FACTORY_NAME "Notify_Default_POA_Factory"
-#define TAO_NOTIFY_DEF_COLLECTION_FACTORY_NAME "Notify_Default_Collection_Factory"
-#define TAO_NOTIFY_DEF_EMO_FACTORY_NAME "Notify_Default_Event_Manager_Objects_Factory"
-
-#include "ace/post.h"
-#endif /* NOTIFY_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp
deleted file mode 100644
index ecf40231947..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/* -*- C++ -*- $Id$ */
-#include "Notify_FilterAdmin_i.h"
-
-ACE_RCSID(Notify, Notify_FilterAdmin_i, "$Id$")
-
-// Implementation skeleton constructor
-TAO_Notify_FilterAdmin_i::TAO_Notify_FilterAdmin_i (void)
-{
-}
-
-// Implementation skeleton destructor
-TAO_Notify_FilterAdmin_i::~TAO_Notify_FilterAdmin_i (void)
-{
-}
-
-CORBA::Boolean
-TAO_Notify_FilterAdmin_i::match (TAO_Notify_Event &event ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData
- ))
-{
- // If no filter is active, treat it as a '*' i.e, let all events pass.
- // or if its the special type, let it pass.
- if (this->filter_list_.current_size () == 0) // || event.is_special_event_type ())
- return 1;
-
- // We want to return true if atleast one constraint matches.
- FILTER_LIST::ITERATOR iter (this->filter_list_);
- FILTER_LIST::ENTRY *entry;
- CORBA::Boolean ret_val = 0;
-
- for (; iter.next (entry); iter.advance ())
- {
- ret_val = event.do_match (entry->int_id_.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (ret_val == 1)
- return 1;
- }
-
- return 0;
-}
-
-CosNotifyFilter::FilterID
-TAO_Notify_FilterAdmin_i::add_filter (
- CosNotifyFilter::Filter_ptr new_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (CORBA::is_nil (new_filter))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CosNotifyFilter::FilterID new_id = this->filter_ids_.get ();
-
- CosNotifyFilter::Filter_var new_filter_var =
- CosNotifyFilter::Filter::_duplicate (new_filter);
-
- if (this->filter_list_.bind (new_id, new_filter_var) == -1)
- ACE_THROW_RETURN (CORBA::INTERNAL (),
- 0);
- else
- {
- this->filter_ids_.next ();
- return new_id;
- }
-}
-
-void TAO_Notify_FilterAdmin_i::remove_filter (CosNotifyFilter::FilterID filter_id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- if (this->filter_list_.unbind (filter_id) == -1)
- ACE_THROW (CosNotifyFilter::FilterNotFound ());
-
- this->filter_ids_.put (filter_id);
-}
-
-CosNotifyFilter::Filter_ptr
-TAO_Notify_FilterAdmin_i::get_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- CosNotifyFilter::Filter_var filter_var;
-
- if (this->filter_list_.find (filter,
- filter_var) == -1)
- ACE_THROW_RETURN (CosNotifyFilter::FilterNotFound (),
- 0);
-
- return CosNotifyFilter::Filter::_duplicate (filter_var.in ());
-}
-
-CosNotifyFilter::FilterIDSeq*
-TAO_Notify_FilterAdmin_i::get_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_ids_.get_sequence(ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_FilterAdmin_i::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- CosNotifyFilter::FilterIDSeq* id_list =
- this->get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- for (CORBA::ULong i = 0; i < id_list->length (); ++i)
- {
- CosNotifyFilter::FilterID id = (*id_list)[i];
- this->remove_filter (id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- delete id_list;
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Hash_Map_Entry<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var>;
-template class ACE_Hash_Map_Manager<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>;
-template class TAO_Notify_ID_Pool_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::FilterIDSeq>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Hash_Map_Entry<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var>
-#pragma instantiate ACE_Hash_Map_Manager<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::Filter_var,ACE_Hash<CosNotifyFilter::FilterID>, ACE_Equal_To<CosNotifyFilter::FilterID>,TAO_SYNCH_MUTEX>
-#pragma instantiate TAO_Notify_ID_Pool_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::FilterIDSeq>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h
deleted file mode 100644
index a566cbe56e7..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h
+++ /dev/null
@@ -1,99 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_FilterAdmin_i.h
- *
- * $Id$
- *
- *
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef NOTIFY_FILTERADMIN_H
-#define NOTIFY_FILTERADMIN_H
-#include "ace/pre.h"
-
-#include "Notify_ID_Pool_T.h"
-#include "Notify_Event.h"
-#include "orbsvcs/CosNotifyFilterS.h"
-#include "ace/Hash_Map_Manager.h"
-#include "notify_export.h"
-
-/**
- * @class TAO_Notify_FilterAdmin_i
- *
- * @brief TAO_Notify_FilterAdmin_i
- *
- */
-class TAO_Notify_Export TAO_Notify_FilterAdmin_i
-{
-
-public:
- /// Constructor
- TAO_Notify_FilterAdmin_i (void);
-
- /// Destructor
- virtual ~TAO_Notify_FilterAdmin_i (void);
-
- // = match operation on all the filters
- /// See if any of the filters match.
- CORBA::Boolean match (TAO_Notify_Event &event ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData
- ));
-
- virtual CosNotifyFilter::FilterID add_filter (
- CosNotifyFilter::Filter_ptr new_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void remove_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
- virtual CosNotifyFilter::Filter_ptr get_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
- virtual CosNotifyFilter::FilterIDSeq * get_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void remove_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-private:
- /// List of filters
- typedef ACE_Hash_Map_Manager <CosNotifyFilter::FilterID, CosNotifyFilter::Filter_var, TAO_SYNCH_MUTEX> FILTER_LIST;
- FILTER_LIST filter_list_;
-
- /// Id generator for proxy suppliers
- TAO_Notify_ID_Pool_Ex<CosNotifyFilter::FilterID,CosNotifyFilter::FilterIDSeq> filter_ids_;
-};
-
-#include "ace/post.h"
-#endif /* NOTIFY_FILTERADMIN_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp
deleted file mode 100644
index 388bdefeee2..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- C++ -*- $Id$ */
-
-#include "Notify_FilterFactory_i.h"
-#include "Notify_Filter_i.h"
-
-ACE_RCSID(Notify, Notify_FilterFactory_i, "$Id$")
-
-// Implementation skeleton constructor
-TAO_Notify_FilterFactory_i::TAO_Notify_FilterFactory_i (void)
-{
-}
-
-// Implementation skeleton destructor
-TAO_Notify_FilterFactory_i::~TAO_Notify_FilterFactory_i (void)
-{
-}
-
-CosNotifyFilter::FilterFactory_ptr
-TAO_Notify_FilterFactory_i::get_ref (ACE_ENV_SINGLE_ARG_DECL)
-{
- CosNotifyFilter::FilterFactory_var filterfactory;
-
- filterfactory = _this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyFilter::FilterFactory::_nil ());
-
- return filterfactory._retn ();
-}
-
-CosNotifyFilter::Filter_ptr
-TAO_Notify_FilterFactory_i::create_filter (
- const char *constraint_grammar
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidGrammar
- ))
-{
- // @@: change to "ExTCL" later.
- if (ACE_OS::strcmp (constraint_grammar, "TCL") != 0 &&
- ACE_OS::strcmp (constraint_grammar, "ETCL") != 0)
- ACE_THROW_RETURN (CosNotifyFilter::InvalidGrammar (), 0);
-
- TAO_Notify_Filter_i* filter;
-
- ACE_NEW_THROW_EX (filter,
- TAO_Notify_Filter_i (constraint_grammar),
- CORBA::NO_MEMORY ());
-
- return filter->get_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosNotifyFilter::MappingFilter_ptr
-TAO_Notify_FilterFactory_i::create_mapping_filter (
- const char * /*constraint_grammar*/,
- const CORBA::Any & /*default_value*/
- ACE_ENV_ARG_DECL_NOT_USED //ACE_ENV_SINGLE_ARG_PARAMETER
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidGrammar
- ))
-{
- return 0;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.h
deleted file mode 100644
index 460b7354e8f..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * $Id$
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef NOTIFY_FILTER_FACTORY_I_H
-#define NOTIFY_FILTER_FACTORY_I_H
-#include "ace/pre.h"
-
-#include "orbsvcs/orbsvcs/CosNotifyFilterS.h"
-#include "notify_export.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_Notify_FilterFactory_i
- *
- *
- */
-class TAO_Notify_Export TAO_Notify_FilterFactory_i : public POA_CosNotifyFilter::FilterFactory, public PortableServer::RefCountServantBase
-{
-
-public:
- /// Constructor
- TAO_Notify_FilterFactory_i (void);
-
- /// Destructor
- virtual ~TAO_Notify_FilterFactory_i (void);
-
- /// Activate with the default POA
- CosNotifyFilter::FilterFactory_ptr
- get_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- virtual CosNotifyFilter::Filter_ptr create_filter (
- const char * constraint_grammar
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidGrammar
- ));
-
- virtual CosNotifyFilter::MappingFilter_ptr create_mapping_filter (
- const char * constraint_grammar,
- const CORBA::Any & default_value
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidGrammar
- ));
-
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* NOTIFY_FILTER_FACTORY_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp
deleted file mode 100644
index 8c9bfaeb18b..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp
+++ /dev/null
@@ -1,507 +0,0 @@
-/* -*- C++ -*- $Id$ */
-
-#include "Notify_Filter_i.h"
-#include "Notify_Constraint_Visitors.h"
-
-#include "tao/debug.h"
-
-#include "ace/Auto_Ptr.h"
-
-ACE_RCSID(Notify, Notify_Filter_i, "$Id$")
-
-// Implementation skeleton constructor
-TAO_Notify_Filter_i::TAO_Notify_Filter_i (const char* constraint_grammar)
- : constraint_grammar_ (constraint_grammar)
-{
-}
-
-// Implementation skeleton destructor
-TAO_Notify_Filter_i::~TAO_Notify_Filter_i (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- this->remove_all_constraints (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG, "Filter Destroyed\n"));
- }
-}
-
-CosNotifyFilter::Filter_ptr
-TAO_Notify_Filter_i::get_ref (ACE_ENV_SINGLE_ARG_DECL)
-{
- PortableServer::POA_var my_POA = _default_POA ();
-
- PortableServer::ServantBase_var filter_var (this);
-
- PortableServer::ObjectId_var oid =
- my_POA->activate_object (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyFilter::Filter::_nil ());
-
- CORBA::Object_var obj =
- my_POA->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyFilter::Filter::_nil ());
-
- return CosNotifyFilter::Filter::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-char*
-TAO_Notify_Filter_i::constraint_grammar (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return CORBA::string_dup (constraint_grammar_.in ());
-}
-
-void
-TAO_Notify_Filter_i::add_constraints_i (
- const CosNotifyFilter::ConstraintInfoSeq& constraint_info_seq
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidConstraint
- ))
-{
- for (CORBA::ULong index = 0;
- index < constraint_info_seq.length ();
- ++index)
- {
- Notify_Constraint_Expr* notify_constr_expr;
-
- ACE_TRY
- {
- ACE_NEW_THROW_EX (notify_constr_expr,
- Notify_Constraint_Expr (),
- CORBA::NO_MEMORY ());
-
- const CosNotifyFilter::ConstraintExp& expr =
- constraint_info_seq[index].constraint_expression;
-
- notify_constr_expr->interpreter.build_tree (
- expr.constraint_expr.in ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- notify_constr_expr->constr_expr = expr;
-
- CosNotifyFilter::ConstraintID cnstr_id =
- constraint_expr_ids_.get ();
-
- if (this->constraint_expr_list_.bind (cnstr_id, notify_constr_expr)
- == -1)
- {
- ACE_THROW (CORBA::NO_RESOURCES ());
- }
-
- // Commit this id.
- this->constraint_expr_ids_.next ();
-
- }
- ACE_CATCHANY
- {
- // Delete the one that failed us.
- delete notify_constr_expr;
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
- ACE_CHECK;
- }
-}
-
-CosNotifyFilter::ConstraintInfoSeq*
-TAO_Notify_Filter_i::add_constraints (
- const CosNotifyFilter::ConstraintExpSeq& constraint_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidConstraint
- ))
-{
- CORBA::ULong constraint_length = constraint_list.length ();
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- "constraint_length = %d\n",
- constraint_length));
- }
-
- // Create the list that goes out.
- CosNotifyFilter::ConstraintInfoSeq *infoseq;
- ACE_NEW_THROW_EX (infoseq,
- CosNotifyFilter::ConstraintInfoSeq (constraint_length),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (0);
-
- infoseq->length (constraint_length);
-
- auto_ptr<CosNotifyFilter::ConstraintInfoSeq> auto_infoseq (infoseq);
-
- // Populate infoseq.
- for (CORBA::ULong pop_index = 0; pop_index < constraint_length; ++pop_index)
- {
- (*infoseq)[pop_index].constraint_expression =
- constraint_list [pop_index];
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- "adding constraint %d, %s",
- pop_index,
- constraint_list [pop_index].constraint_expr.in ()));
- }
- }
-
- this->add_constraints_i (*infoseq
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- auto_infoseq.release ();
-
- return infoseq;
-}
-
-void
-TAO_Notify_Filter_i::modify_constraints (
- const CosNotifyFilter::ConstraintIDSeq & del_list,
- const CosNotifyFilter::ConstraintInfoSeq & modify_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidConstraint,
- CosNotifyFilter::ConstraintNotFound
- ))
-{
- // First check if all the ids are valid.
- u_int index;
-
- for (index = 0; index < del_list.length (); ++index)
- {
- if (this->constraint_expr_list_.find (del_list [index]) == -1)
- {
- ACE_THROW (CosNotifyFilter::ConstraintNotFound (del_list [index]));
- }
- }
-
- for (index = 0; index < modify_list.length (); ++index)
- {
- if (this->constraint_expr_list_.find (modify_list [index].constraint_id)
- == -1)
- {
- ACE_THROW (
- CosNotifyFilter::ConstraintNotFound (
- modify_list [index].constraint_id
- )
- );
- }
- }
-
- // Remove previous entries and save them in case we need to reinstate them.
- ACE_Array<Notify_Constraint_Expr*> constr_saved (modify_list.length ());
- Notify_Constraint_Expr* constr_expr = 0;
-
- for (index = 0; index < modify_list.length (); ++index)
- {
- CosNotifyFilter::ConstraintID cnstr_id =
- modify_list [index].constraint_id;
-
- if (this->constraint_expr_list_.unbind (cnstr_id, constr_expr) != -1)
- {
- constr_saved[index] = constr_expr;
- }
-
- this->constraint_expr_ids_.put (cnstr_id);
- }
-
- // Now add the new entries.
- // Keep a list of ids generated in this session.
- ACE_TRY
- {
- this->add_constraints_i (modify_list
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- // Restore,
- for (index = 0; index < modify_list.length (); ++index)
- {
- CosNotifyFilter::ConstraintID cnstr_id =
- this->constraint_expr_ids_.get ();
-
- if (constraint_expr_list_.bind (cnstr_id,
- constr_saved[index]) == -1)
- ACE_THROW (CORBA::NO_RESOURCES ());
-
- this->constraint_expr_ids_.next (); // commit this id.
- }
-
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
- ACE_CHECK;
-
- // Now go around deleting...
- // for the del_list.
- for (index = 0; index < del_list.length (); ++index)
- {
- if (this->constraint_expr_list_.unbind (del_list [index], constr_expr)
- != -1)
- {
- delete constr_expr;
- }
- }
-
- // Delete the old constraints.
- for (index = 0; index < constr_saved.max_size (); ++index)
- {
- delete constr_saved[index];
- }
-}
-
-CosNotifyFilter::ConstraintInfoSeq *
-TAO_Notify_Filter_i::get_constraints (
- const CosNotifyFilter::ConstraintIDSeq & id_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosNotifyFilter::ConstraintNotFound))
-{
- // Create the list that goes out.
- CosNotifyFilter::ConstraintInfoSeq *infoseq;
- ACE_NEW_THROW_EX (infoseq,
- CosNotifyFilter::ConstraintInfoSeq (id_list.length ()),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (0);
-
- auto_ptr<CosNotifyFilter::ConstraintInfoSeq> auto_infoseq (infoseq);
-
- Notify_Constraint_Expr *notify_constr_expr = 0;
-
- for (u_int index = 0; index < id_list.length (); ++index)
- {
- if (this->constraint_expr_list_.find (id_list[index],
- notify_constr_expr) == -1)
- ACE_THROW_RETURN (CosNotifyFilter::ConstraintNotFound (id_list[index]),
- 0);
-
- (*infoseq)[index].constraint_expression =
- notify_constr_expr->constr_expr;
-
- // Get an id.
- (*infoseq)[index].constraint_id = id_list[index];
- }
-
- auto_infoseq.release ();
- return infoseq;
-}
-
-CosNotifyFilter::ConstraintInfoSeq *
-TAO_Notify_Filter_i::get_all_constraints (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- size_t current_size = this->constraint_expr_list_.current_size ();
-
- // Create the list that goes out.
- CosNotifyFilter::ConstraintInfoSeq *infoseq;
- ACE_NEW_THROW_EX (infoseq,
- CosNotifyFilter::ConstraintInfoSeq (current_size),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (0);
-
- infoseq->length (current_size);
- CONSTRAINT_EXPR_LIST_ITER iter (this->constraint_expr_list_);
- CONSTRAINT_EXPR_ENTRY *entry;
-
- for (u_int index = 0; iter.done () == 0; iter.advance (), ++index)
- {
- if (iter.next (entry) != 0)
- {
- // Why do we cast to a const object?
- // We want to force the TAO_String_Manager to make a
- // copy of the string. It wouldn't unless we coax it to use
- // the correct assignment operator.
- (*infoseq)[index].constraint_expression =
- ACE_static_cast (const CosNotifyFilter::ConstraintExp,
- entry->int_id_->constr_expr);
-
- (*infoseq)[index].constraint_id = entry->ext_id_;
- }
- }
-
- return infoseq;
-}
-
-void
-TAO_Notify_Filter_i::remove_all_constraints (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CONSTRAINT_EXPR_LIST_ITER iter (this->constraint_expr_list_);
- CONSTRAINT_EXPR_ENTRY *entry;
-
- u_int index;
-
- for (index = 0; iter.done () == 0; iter.advance (), ++index)
- {
- if (iter.next (entry) != 0)
- {
- delete entry->int_id_;
- }
- }
-
- this->constraint_expr_list_.unbind_all ();
-}
-
-void
-TAO_Notify_Filter_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->remove_all_constraints (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- PortableServer::POA_var my_POA = _default_POA ();
-
- PortableServer::ObjectId_var refTemp = my_POA->servant_to_id (this);
-
- my_POA->deactivate_object (refTemp.in ());
-}
-
-CORBA::Boolean
-TAO_Notify_Filter_i::match (const CORBA::Any & /*filterable_data */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- 0);
-}
-
-CORBA::Boolean
-TAO_Notify_Filter_i::match_structured (
- const CosNotification::StructuredEvent & filterable_data
- ACE_ENV_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData))
-{
- // We want to return true if at least one constraint matches.
- CONSTRAINT_EXPR_LIST_ITER iter (this->constraint_expr_list_);
- CONSTRAINT_EXPR_ENTRY *entry;
-
- TAO_Notify_Constraint_Visitor visitor;
-
- if (visitor.bind_structured_event (filterable_data) != 0)
- {
- // Maybe throw some kind of exception here, or lower down,
- return 0;
- }
-
- for (; iter.done () == 0; iter.advance ())
- {
- if (iter.next (entry) != 0)
- {
- if (entry->int_id_->interpreter.evaluate (visitor) == 1)
- {
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-CORBA::Boolean
-TAO_Notify_Filter_i::match_typed (
- const CosNotification::PropertySeq & /* filterable_data */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC (( CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- 0);
-}
-
-CosNotifyFilter::CallbackID
-TAO_Notify_Filter_i::attach_callback (
- CosNotifyComm::NotifySubscribe_ptr /* callback */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- 0);
-}
-
-void
-TAO_Notify_Filter_i::detach_callback (
- CosNotifyFilter::CallbackID /* callback */
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosNotifyFilter::CallbackNotFound))
-{
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-CosNotifyFilter::CallbackIDSeq *
-TAO_Notify_Filter_i::get_callbacks (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- 0);
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Hash_Map_Entry<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr *>;
-template class ACE_Hash_Map_Manager<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Manager_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Iterator_Base_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>;
-
-#if !defined (ACE_HAS_STD_TEMPLATE_SPECIALIZATION)
-template class ACE_Equal_To<CosNotifyFilter::ConstraintID>;
-#endif /* ACE_HAS_STD_TEMPLATE_SPECIALIZATION */
-
-template class ACE_Array<TAO_Notify_Filter_i::Notify_Constraint_Expr*>;
-template class ACE_Array_Base<TAO_Notify_Filter_i::Notify_Constraint_Expr*>;
-
-template class auto_ptr<CosNotifyFilter::ConstraintInfoSeq>;
-template class ACE_Auto_Basic_Ptr<CosNotifyFilter::ConstraintInfoSeq>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Hash_Map_Entry<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*>
-#pragma instantiate ACE_Hash_Map_Manager<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<CosNotifyFilter::ConstraintID,TAO_Notify_Filter_i::Notify_Constraint_Expr*,ACE_Hash<CosNotifyFilter::ConstraintID>, ACE_Equal_To<CosNotifyFilter::ConstraintID>,TAO_SYNCH_MUTEX>
-
-#if !defined (ACE_HAS_STD_TEMPLATE_SPECIALIZATION)
-#pragma instantiate ACE_Equal_To<CosNotifyFilter::ConstraintID>
-#endif /* ACE_HAS_STD_TEMPLATE_SPECIALIZATION */
-
-#pragma instantiate ACE_Array<TAO_Notify_Filter_i::Notify_Constraint_Expr*>
-#pragma instantiate ACE_Array_Base<TAO_Notify_Filter_i::Notify_Constraint_Expr*>
-
-#pragma instantiate auto_ptr<CosNotifyFilter::ConstraintInfoSeq>
-#pragma instantiate ACE_Auto_Basic_Ptr<CosNotifyFilter::ConstraintInfoSeq>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.h
deleted file mode 100644
index fa3ccb01b49..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Filter_i.h
+++ /dev/null
@@ -1,211 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_Filter_i.h
- *
- * $Id$
- *
- *
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_FILTER_I_H
-#define TAO_NOTIFY_FILTER_I_H
-#include "ace/pre.h"
-
-#include "Notify_Constraint_Interpreter.h"
-#include "Notify_ID_Pool_T.h"
-#include "orbsvcs/CosNotifyFilterS.h"
-#include "ace/Containers_T.h"
-#include "ace/Hash_Map_Manager.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_Filter_i
- *
- */
-
-class TAO_Notify_Export TAO_Notify_Filter_i : public POA_CosNotifyFilter::Filter,
- public PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- TAO_Notify_Filter_i (const char* constraint_grammar);
-
- /// Destructor
- virtual ~TAO_Notify_Filter_i (void);
-
- /// Activate with the default POA
- CosNotifyFilter::Filter_ptr
- get_ref (ACE_ENV_SINGLE_ARG_DECL);
-
-virtual char * constraint_grammar (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyFilter::ConstraintInfoSeq * add_constraints (
- const CosNotifyFilter::ConstraintExpSeq & constraint_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidConstraint
- ));
-
-virtual void modify_constraints (
- const CosNotifyFilter::ConstraintIDSeq & del_list,
- const CosNotifyFilter::ConstraintInfoSeq & modify_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidConstraint,
- CosNotifyFilter::ConstraintNotFound
- ));
-
-virtual CosNotifyFilter::ConstraintInfoSeq * get_constraints (
- const CosNotifyFilter::ConstraintIDSeq & id_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::ConstraintNotFound
- ));
-
-virtual CosNotifyFilter::ConstraintInfoSeq * get_all_constraints (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_all_constraints (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void destroy (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CORBA::Boolean match (
- const CORBA::Any & filterable_data
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData
- ));
-
-virtual CORBA::Boolean match_structured (
- const CosNotification::StructuredEvent & filterable_data
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData
- ));
-
-virtual CORBA::Boolean match_typed (
- const CosNotification::PropertySeq & filterable_data
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::UnsupportedFilterableData
- ));
-
-virtual CosNotifyFilter::CallbackID attach_callback (
- CosNotifyComm::NotifySubscribe_ptr callback
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void detach_callback (
- CosNotifyFilter::CallbackID callback
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::CallbackNotFound
- ));
-
-virtual CosNotifyFilter::CallbackIDSeq * get_callbacks (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-private:
- void add_constraints_i (
- const CosNotifyFilter::ConstraintInfoSeq& constraint_info_seq
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::InvalidConstraint
- ));
-
- struct Notify_Constraint_Expr
- {
- // = DESCRIPTION
- // Structure for associating ConstraintInfo with an interpreter.
- //
- CosNotifyFilter::ConstraintExp constr_expr;
- // Constraint Expression.
-
- TAO_Notify_Constraint_Interpreter interpreter;
- // Constraint Interpreter.
- };
-
- /// Id generator for ConstraintInfo's.
- TAO_Notify_ID_Pool <CosNotifyFilter::ConstraintID> constraint_expr_ids_;
-
- /// A list of the constraints stored in this filter.
- ACE_Hash_Map_Manager <CosNotifyFilter::ConstraintID,
- ACE_NESTED_CLASS (TAO_Notify_Filter_i, Notify_Constraint_Expr*),
- TAO_SYNCH_MUTEX>
- constraint_expr_list_;
-
- typedef ACE_Hash_Map_Iterator <CosNotifyFilter::ConstraintID,
- ACE_NESTED_CLASS (TAO_Notify_Filter_i, Notify_Constraint_Expr*),
- TAO_SYNCH_MUTEX>
- CONSTRAINT_EXPR_LIST_ITER;
-
- typedef ACE_Hash_Map_Entry <CosNotifyFilter::ConstraintID,
- ACE_NESTED_CLASS (TAO_Notify_Filter_i,
- Notify_Constraint_Expr*)>
- CONSTRAINT_EXPR_ENTRY;
- CORBA::String_var constraint_grammar_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_FILTER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.cpp
deleted file mode 100644
index c8d462a1af9..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// $Id$
-
-#ifndef TAO_NOTIFY_ID_POOL_T_C
-#define TAO_NOTIFY_ID_POOL_T_C
-
-#include "Notify_ID_Pool_T.h"
-
-#if !defined (__ACE_INLINE__)
-#include "Notify_ID_Pool_T.i"
-#endif /* __ACE_INLINE__ */
-
-template <class ID_TYPE>
-TAO_Notify_ID_Pool<ID_TYPE>::TAO_Notify_ID_Pool (void)
- : id_ (0)
-{
- // No-Op.
-}
-
-template <class ID_TYPE>
-TAO_Notify_ID_Pool<ID_TYPE>::~TAO_Notify_ID_Pool ()
-{
- // No-Op.
-}
-
-template <class ID_TYPE> ID_TYPE
-TAO_Notify_ID_Pool<ID_TYPE>::get (void)
-{
- // Using the prefix ++ operator here causes problems with
- // the default supplier and consumer admins.
- return this->id_++;
-}
-
-template <class ID_TYPE> void
-TAO_Notify_ID_Pool<ID_TYPE>::put (ID_TYPE id )
-{
- this->active_list_.remove (id);
-}
-
-template <class ID_TYPE> void
-TAO_Notify_ID_Pool<ID_TYPE>::next (void)
-{
- this->active_list_.insert (this->id_);
-}
-
-template <class ID_TYPE, class ID_TYPE_SEQ>
-TAO_Notify_ID_Pool_Ex<ID_TYPE, ID_TYPE_SEQ>::TAO_Notify_ID_Pool_Ex (void)
-{
-}
-
-template <class ID_TYPE, class ID_TYPE_SEQ>
-TAO_Notify_ID_Pool_Ex<ID_TYPE, ID_TYPE_SEQ>::~TAO_Notify_ID_Pool_Ex ()
-{
-}
-
-template <class ID_TYPE, class ID_TYPE_SEQ> ID_TYPE_SEQ*
-TAO_Notify_ID_Pool_Ex<ID_TYPE, ID_TYPE_SEQ>::get_sequence (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Figure out the length of the list.
- size_t len = this->active_list_.size ();
-
- ID_TYPE_SEQ* list;
-
- // Allocate the list of <len> length.
- ACE_NEW_THROW_EX (list,
- ID_TYPE_SEQ (len),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (0);
-
- list->length (len);
-
- ACE_Unbounded_Set_Iterator<ID_TYPE> iter (this->active_list_);
- ID_TYPE* id_ret;
-
- int i = 0;
- for (iter.first (); iter.next (id_ret) == 1; iter.advance ())
- (*list)[i++] = *id_ret;
-
- return list;
-}
-
-#endif /* TAO_NOTIFY_ID_POOL_T_C */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.h
deleted file mode 100644
index e7df736ca07..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.h
+++ /dev/null
@@ -1,98 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_ID_Pool_T.h
- *
- * $Id$
- *
- * A class to generate ID's.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_ID_POOL_T_H
-#define TAO_NOTIFY_ID_POOL_T_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Containers_T.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-/**
- * @class TAO_Notify_ID_Pool
- *
- * @brief ID_Pool
- *
- * This class is used by factories that need to associate id's with the
- * objects that they create.
- * The very first id generated is always 0.The condition is necessary to
- * support ids for default objects that require an id of 0.
- */
-template <class ID_TYPE>
-class TAO_Notify_ID_Pool
-{
-public:
-
- /// Constructor.
- TAO_Notify_ID_Pool (void);
-
- /// Destructor.
- ~TAO_Notify_ID_Pool ();
-
- /// Returns the current id.
- ID_TYPE get (void);
-
- /// Return the id back.
- void put (ID_TYPE id);
-
- /// The current id is moved to the active_list_.
- void next (void);
-
- protected:
- /// The next available id.
- ID_TYPE id_;
-
- /// List of ids currently in use by clients of this class.
- ACE_Unbounded_Set <ID_TYPE> active_list_;
-};
-
- /**
- * @class TAO_Notify_ID_Pool_Ex
- *
- * @brief TAO_Notify_ID_Pool_Ex
- *
- * Extends the TAO_Notify_ID_Pool with a method to convert the active_list
- * into a sequence type.
- */
-template <class ID_TYPE, class ID_TYPE_SEQ>
-class TAO_Notify_ID_Pool_Ex : public TAO_Notify_ID_Pool <ID_TYPE>
-{
- public:
- TAO_Notify_ID_Pool_Ex (void);
- ~TAO_Notify_ID_Pool_Ex ();
-
- /// Get a list of all ids in use.
- /// Essentially converts the <active_list_> to a Sequence.
- ID_TYPE_SEQ* get_sequence (ACE_ENV_SINGLE_ARG_DECL);
-};
-
-#if defined (__ACE_INLINE__)
-#include "Notify_ID_Pool_T.i"
-#endif /* __ACE_INLINE__ */
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Notify_ID_Pool_T.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Notify_ID_Pool_T.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_ID_POOL_T_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.i b/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.i
deleted file mode 100644
index 47159b11f78..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.i
+++ /dev/null
@@ -1 +0,0 @@
-/* -*- C++ -*- $Id$ */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp
deleted file mode 100644
index 7be49ac9fe3..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// $Id$
-
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_Listener_Filter_Eval_Command.h"
-#include "Notify_Event_Dispatch_Command.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_Listeners.h"
-#include "Notify_Event.h"
-#include "Notify_Event_Processor.h"
-
-ACE_RCSID(Notify, Notify_Listener_Filter_Eval_Command, "$Id$")
-
-TAO_Notify_Listener_Filter_Eval_Command::TAO_Notify_Listener_Filter_Eval_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener, CORBA::Boolean eval_parent)
- :TAO_Notify_Command (event_processor, event),
- event_listener_ (event_listener),
- eval_parent_ (eval_parent)
-{
- event_listener_->_incr_refcnt ();
- this->event_->_incr_refcnt ();
-}
-
-TAO_Notify_Listener_Filter_Eval_Command::~TAO_Notify_Listener_Filter_Eval_Command ()
-{
- event_listener_->_decr_refcnt ();
- this->event_->_decr_refcnt ();
-}
-
-int
-TAO_Notify_Listener_Filter_Eval_Command::execute (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Boolean result =
- this->event_listener_->evaluate_filter (*this->event_, this->eval_parent_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (result == 1)
- {
- this->event_processor_->dispatch_event (this->event_, this->event_listener_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
- }
-
- return -1;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.h
deleted file mode 100644
index 865fc0298d8..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Listener_Filter_Eval_Command.h
- *
- * $Id$
- *
- * Defines the Command object for evaluating the listener's filter.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_LISTENER_FILTER_EVAL_COMMAND_H
-#define TAO_NOTIFY_LISTENER_FILTER_EVAL_COMMAND_H
-
-#include "ace/pre.h"
-#include "Notify_Command.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-class TAO_Notify_Event;
-class TAO_Notify_EventListener;
-class TAO_Notify_Event_Processor;
-
- /**
- * @class TAO_Notify_Listener_Filter_Eval_Command
- *
- * @brief TAO_Notify_Listener_Filter_Eval_Command
- *
- * Listener filter evaluation command.
- */
-class TAO_Notify_Export TAO_Notify_Listener_Filter_Eval_Command : public TAO_Notify_Command
-{
- public:
- /// The event, listener, and hint to pass (see the listener interface for details)
- TAO_Notify_Listener_Filter_Eval_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventListener* event_listener, CORBA::Boolean eval_parent);
-
- ~TAO_Notify_Listener_Filter_Eval_Command();
-
- /// Command callback
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
-
- protected:
- // = Data Members
- TAO_Notify_EventListener* event_listener_;
- CORBA::Boolean eval_parent_;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_LISTENER_FILTER_EVAL_COMMAND_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listeners.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Listeners.h
deleted file mode 100644
index 3791241bd03..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Listeners.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * @file Notify_Listeners.h
- *
- * $Id$
- *
- * Internal "observer" interfaces for Notify.
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-
-#ifndef TAO_NOTIFY_LISTENERS_H
-#define TAO_NOTIFY_LISTENERS_H
-
-#include "ace/pre.h"
-#include "tao/corba.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "notify_export.h"
-
-class TAO_Notify_Event;
-class TAO_Notify_EventType_List;
-class TAO_Notify_Worker_Task;
-
-// @@ Pradeep: this file has three separate classes, that do not seem
-// related in anyway, you should move them to their own files.
-// @@ Pradeep: it seems like the classes in this file are fundamental
-// interfaces used all over the place, you should document them and
-// how they interact, in the README file or in the paper or both.
-
-// @@ Pradeep: if this class is what I think it is then it should be
-// in its own file..
- /**
- * @class TAO_Notify_RefCounted
- *
- * @brief TAO_Notify_RefCounted
- *
- * @@ Pradeep: what do you mean "often", is it used for something
- * else sometimes? Or is it that sometimes refcounting is done
- * some other way?
- * Often used interface for ref. counting.
- */
-class TAO_Notify_Export TAO_Notify_RefCounted
-{
- public:
- /// Increment the reference count.
- virtual CORBA::ULong _incr_refcnt (void) = 0;
-
- /// Decrement the reference count.
- virtual CORBA::ULong _decr_refcnt (void) = 0;
-};
-
-// ****************************************************************
-
-/**
- * @class TAO_Notify_EventListener
- *
- * @brief TAO_Notify_EventListener
- *
- * All entities interested in receiving events can implement this interface
- * and subscribe with the Event Manager. During subscription, the Listener
- * must specify what kind of events it is interested in.
- */
-class TAO_Notify_Export TAO_Notify_EventListener : virtual public TAO_Notify_RefCounted
-{
-
-public:
- /// Callback methods to supply the event to the listener.
- virtual void dispatch_event (TAO_Notify_Event &event
- ACE_ENV_ARG_DECL) = 0;
-
- /**
- * Evaluates true if this event is acceptable by the listener.
- * The <eval_parent> is a hint to the listener to help it determine
- * if its wise to evaluate the parents filter too. This helps in
- * implementing the "interfilter group operator" logic.
- */
- virtual CORBA::Boolean evaluate_filter (TAO_Notify_Event &event,
- CORBA::Boolean eval_parent
- ACE_ENV_ARG_DECL) = 0;
-
- /// Ask the listener to relinquish any bindings and prepare to be
- /// disposed.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) = 0;
-
- /// The Worker task associated with the event listener for event dispatching
- virtual TAO_Notify_Worker_Task* event_dispatch_task (void) = 0;
-
- /// The Worker task associated with the event listener for filter evaluation.
- virtual TAO_Notify_Worker_Task* filter_eval_task (void) = 0;
-};
-
-// ****************************************************************
-
- /**
- * @class TAO_Notify_EventSource
- *
- * @brief TAO_Notify_EventSource
- *
- * The event source suppliers events to the Notify Manager.
- */
-class TAO_Notify_Export TAO_Notify_EventSource : virtual public TAO_Notify_RefCounted
-{
- public:
- // TODO: add a shutdown method to this interface!!
-
- /// Evaluates true if this event is acceptable by the Source.
- virtual CORBA::Boolean evaluate_filter (TAO_Notify_Event &event
- ACE_ENV_ARG_DECL) = 0;
-
- /// The Worker task associated with the event listener for filter evaluation.
- virtual TAO_Notify_Worker_Task* filter_eval_task (void) = 0;
-};
-
-// ****************************************************************
-
-/**
- * @class TAO_Notify_UpdateListener
- *
- * @brief TAO_Notify_UpdateListener
- *
- * All entities interested in receiving subscription and publication
- * change messages can implement this interface and register it with
- * the Event Manager to receive updates.
- */
-class TAO_Notify_Export TAO_Notify_UpdateListener : virtual public TAO_Notify_RefCounted
-{
-
- public:
- /// Callback method to supply updates.
- virtual void dispatch_update (TAO_Notify_EventType_List& added,
- TAO_Notify_EventType_List& removed
- ACE_ENV_ARG_DECL) = 0;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_LISTENERS_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.cpp
deleted file mode 100644
index 46ca4442051..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// $Id$
-
-#include "orbsvcs/ESF/ESF_Proxy_Collection.h"
-#include "Notify_Lookup_Command.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_Listener_Filter_Eval_Command.h"
-#include "Notify_Event.h"
-#include "Notify_Event_Map.h"
-#include "Notify_Event_Processor.h"
-
-ACE_RCSID(Notify, Notify_Lookup_Command, "$Id$")
-
-TAO_Notify_Lookup_Command::TAO_Notify_Lookup_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_Event_Map* event_map)
- :TAO_Notify_Command (event_processor, event),
- event_map_ (event_map)
-{
- this->event_->_incr_refcnt ();
-}
-
-TAO_Notify_Lookup_Command::~TAO_Notify_Lookup_Command ()
-{
- this->event_->_decr_refcnt ();
-}
-
-int
-TAO_Notify_Lookup_Command::execute (ACE_ENV_SINGLE_ARG_DECL)
-{
- // If the event is *not* the special event
- // send it to the list that matches it.
- // In any case send it to the default list.
-#if 0
- ACE_DEBUG ((LM_DEBUG, "finding a match for event: %s, %s\n",
- event->event_type ().event_type_.domain_name.in (),
- event->event_type ().event_type_.type_name.in ()));
-#endif
-
- if (!this->event_->is_special_event_type ())
- {
- TAO_Notify_EventListener_List* listener_list;
- // find the subscription list for <event_type>
-
- if (event_map_->find (this->event_->event_type (),
- listener_list) == 0)
- {
- listener_list->for_each (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
- }
- }
- // Those subscribed for the default events get everything.
- // if (this->default_subscription_list_->is_empty () == 0)
- // @@ can't do this test - is_empty is not impl.
- {
- event_map_->default_subscription_list ()->for_each (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
- }
-
- return 0;
-}
-
-void
-TAO_Notify_Lookup_Command::work (TAO_Notify_EventListener* event_listener
- ACE_ENV_ARG_DECL)
-{
- this->event_processor_->evaluate_listener_filter (this->event_, event_listener, 1 ACE_ENV_ARG_PARAMETER);
- // Note the last parameter, we want the parent filter to be evaluated.
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.h
deleted file mode 100644
index 85924c39ba7..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Lookup_Command.h
- *
- * $Id$
- *
- * Command object for looking up subscriptions for a given event.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_LOOKUP_COMMAND_H
-#define TAO_NOTIFY_LOOKUP_COMMAND_H
-
-#include "ace/pre.h"
-#include "orbsvcs/ESF/ESF_Worker.h"
-#include "Notify_Command.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-class TAO_Notify_Event;
-class TAO_Notify_EventListener;
-class TAO_Notify_Event_Map;
-
- /**
- * @class TAO_Notify_Lookup_Command
- *
- * @brief TAO_Notify_Lookup_Command
- *
- * Command object for event subscription lookup in the event map.
- */
-class TAO_Notify_Export TAO_Notify_Lookup_Command : public TAO_Notify_Command, public TAO_ESF_Worker<TAO_Notify_EventListener>
-{
- public:
- // = Initialization and termination code
- TAO_Notify_Lookup_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_Event_Map* event_map);
-
- ~TAO_Notify_Lookup_Command ();
-
- /// Command callback
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED);
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL);
- protected:
- // = Data member
- /// The event map to lookup in.
- TAO_Notify_Event_Map* event_map_;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_LOOKUP_COMMAND_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp
deleted file mode 100644
index 34cfcdf67bd..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-// $Id$
-
-#include "Notify_MT_Worker_Task.h"
-#include "Notify_Command.h"
-#include "Notify_AdminProperties.h"
-#include "Notify_Buffering_Strategy.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_Extensions.h"
-
-#include "tao/debug.h"
-
-ACE_RCSID(Notify, Notify_MT_Worker_Task, "$Id$")
-
-TAO_Notify_MT_Worker_Task::TAO_Notify_MT_Worker_Task (int n_threads, long flags, int force_active, long priority)
- :buffering_strategy_ (0),
- queue_length_ (0),
- n_threads_ (n_threads),
- flags_ (flags),
- force_active_ (force_active),
- priority_ (priority)
-{
-}
-
-TAO_Notify_MT_Worker_Task::~TAO_Notify_MT_Worker_Task ()
-{
- delete this->buffering_strategy_;
-}
-
-int
-TAO_Notify_MT_Worker_Task::init_task (
- TAO_Notify_AdminProperties* const admin_properties,
- TAO_Notify_QoSAdmin_i* const qos_properties)
-{
- // Store the admin properties...
- this->queue_length_ = admin_properties->queue_length ();
-
- // Make us an Active Object.
- if (this->activate (this->flags_, this->n_threads_, this->force_active_, this->priority_) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("activate failed")), -1);
-
- // Create the dispatching strategy.
- ACE_NEW_RETURN (this->buffering_strategy_,
- TAO_Notify_Buffering_Strategy (
- admin_properties->queue_length ()),
- -1);
-
- // Set the admin properties
- this->update_admin (*admin_properties);
-
- // Set the qos policies
- this->update_qos (*qos_properties);
-
- return 0;
-}
-
-void
-TAO_Notify_MT_Worker_Task::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /*ACE_ENV_SINGLE_ARG_PARAMETER*/)
-{
- // Put a shutdown message in the task queue and wait here till all
- // threads exit.
- this->close (0);
-}
-
-int
-TAO_Notify_MT_Worker_Task::close (u_long)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) close of worker\n")));
-
- TAO_Notify_Shutdown_Command * mb = new TAO_Notify_Shutdown_Command ();
-
- ACE_DECLARE_NEW_CORBA_ENV;
- this->process_event (mb ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // We can not wait for ourselves to quit
- if (this->thr_mgr ())
- {
- // call this->thr_mgr ()->task () in the main thread will assert ()
- // fail in ACE_Thread_Manager::thread_desc_self (void) so I get
- // task this way.
- ACE_Thread_Descriptor *mydesc = this->thr_mgr ()->thread_descriptor (ACE_OS::thr_self ());
-
- if (mydesc && mydesc->task () == this)
- return -1;
- }
- return this->wait ();
-}
-
-int
-TAO_Notify_MT_Worker_Task::process_event (TAO_Notify_Command *mb ACE_ENV_ARG_DECL, ACE_Time_Value *tv)
-{
- // Execute the buffering strategy.
- this->buffering_strategy_->execute (this->msg_queue (), mb ACE_ENV_ARG_PARAMETER, tv);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-void
-TAO_Notify_MT_Worker_Task::update_admin (TAO_Notify_AdminProperties& admin)
-{
- this->buffering_strategy_->max_queue_length (admin.max_queue_length ());
-}
-
-void
-TAO_Notify_MT_Worker_Task::update_qos (TAO_Notify_QoSAdmin_i& qos_admin)
-{
- // Only set values on the buffering_strategy_ that have actually been
- // set on the qos_admin that is passed in. This way, values on the
- // buffering_strategy_ are preserved when the qos parameters are not
- // set on say the event channel or the supplier proxy.
- ACE_TRY_NEW_ENV
- {
- CosNotification::QoSProperties_var qos = qos_admin.get_qos (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- for (CORBA::ULong index = 0; index < qos->length (); ++index)
- {
- if (ACE_OS::strcmp (qos[index].name,
- CosNotification::OrderPolicy) == 0)
- {
- CORBA::Short value;
- qos[index].value >>= value;
- this->buffering_strategy_->order_policy (value);
- }
- else if (ACE_OS::strcmp (qos[index].name,
- CosNotification::DiscardPolicy) == 0)
- {
- CORBA::Short value;
- qos[index].value >>= value;
- this->buffering_strategy_->discard_policy (value);
- }
- else if (ACE_OS::strcmp (qos[index].name,
- CosNotification::MaxEventsPerConsumer) == 0)
- {
- CORBA::Long value;
- qos[index].value >>= value;
- this->buffering_strategy_->max_events_per_consumer (value);
- }
- else if (ACE_OS::strcmp (qos[index].name,
- TAO_Notify_Extensions::BlockingPolicy) == 0)
- {
- TimeBase::TimeT value;
- qos[index].value >>= value;
- this->buffering_strategy_->blocking_timeout (value);
- }
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "EC (%P|%t) exception in update_qos");
- }
- ACE_ENDTRY;
-}
-
-int
-TAO_Notify_MT_Worker_Task::svc (void)
-{
- int done = 0;
- while (!done)
- {
- ACE_TRY_NEW_ENV
- {
- ACE_Message_Block *mb;
- if (this->getq (mb) == -1)
- if (ACE_OS::last_error () == ESHUTDOWN)
- return 0;
- else
- ACE_ERROR ((LM_ERROR,
- "EC (%P|%t) getq error in Dispatching Queue\n"));
-
- // Decrement the global event count.
- (*this->queue_length_)--;
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "removing from queue\n"));
- TAO_Notify_Command *command =
- ACE_dynamic_cast (TAO_Notify_Command*, mb);
-
- int result = 0;
-
- if (command != 0)
- {
- result = command->execute (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Message_Block::release (mb);
-
- if (result == -1)
- done = 1;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "EC (%P|%t) exception in dispatching queue");
- }
- ACE_ENDTRY;
- }
- return 0;
-}
-
-/**************************************************************************/
-
-TAO_Notify_Shutdown_Command::TAO_Notify_Shutdown_Command (void)
- :TAO_Notify_Command (0,0)
-{
-}
-
-int
-TAO_Notify_Shutdown_Command::execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /*ACE_ENV_SINGLE_ARG_PARAMETER*/)
-{
- return -1;
-}
-/**************************************************************************/
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h
deleted file mode 100644
index 3590ee817ab..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_MT_Worker_Task.h
- *
- * $Id$
- *
- * MT Worker task
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_MT_NOTIFY_WORKER_TASK_H
-#define TAO_MT_NOTIFY_WORKER_TASK_H
-
-#include "ace/pre.h"
-#include "ace/Task.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_Worker_Task.h"
-#include "Notify_AdminProperties.h"
-
-class TAO_Notify_Event_Processor;
-class TAO_Notify_Buffering_Strategy;
-class TAO_Notify_QoSAdmin_i;
-
-/**
- * @class TAO_Notify_MT_Worker_Task
- *
- * @brief TAO_Notify_MT_Worker_Task
- *
- * A MT worker task that we use for various event processing jobs.
- * Also see TAO_Notify_Command - This task executes Notify_Command objects.
- */
-class TAO_Notify_Export TAO_Notify_MT_Worker_Task : public TAO_Notify_Worker_Task, public ACE_Task<ACE_SYNCH>
-{
-public:
- // = Initialization and termination code
- /// Constructor.
- TAO_Notify_MT_Worker_Task (int n_threads = 1,
- long flags = THR_NEW_LWP | THR_JOINABLE,
- int force_active = 0,
- long priority = ACE_DEFAULT_THREAD_PRIORITY);
-
- /// Destructor.
- ~TAO_Notify_MT_Worker_Task ();
-
- /// Init the task
- virtual int init_task (TAO_Notify_AdminProperties* const admin_properties,
- TAO_Notify_QoSAdmin_i* const qos_properties);
-
- /// Shutdown this task.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Process the command.
- virtual int process_event (TAO_Notify_Command *mb ACE_ENV_ARG_DECL, ACE_Time_Value *tv = 0);
-
- virtual void update_admin (TAO_Notify_AdminProperties& admin);
- virtual void update_qos (TAO_Notify_QoSAdmin_i& qos_admin);
-
- protected:
- /// svc command processes objects stored in the message queue.
- virtual int svc (void);
-
- /// Close hook.
- virtual int close (u_long);
-
- /// The buffering strategy to use.
- TAO_Notify_Buffering_Strategy* buffering_strategy_;
-
- /// We need to decrement the event_count_ everytime we dequeue a command
- /// object.
- TAO_Notify_Signal_Property_Long* queue_length_;
-
- // = Parameters to activate
- int n_threads_;
- long flags_;
- int force_active_;
- long priority_;
-};
-
-//****************************************************************************************
-
- /**
- * @class TAO_Notify_Shutdown_Command
- *
- * @brief TAO_Notify_Shutdown_Command
- *
- * Shutdown command to shutdown the task.
- */
-class TAO_Notify_Export TAO_Notify_Shutdown_Command : public TAO_Notify_Command
-{
- public:
-
- TAO_Notify_Shutdown_Command (void);
-
- /// Returns -1. This signals worker threads to finish servicing requests.
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
-};
-
-//****************************************************************************************
-
-#include "ace/post.h"
-#endif /* TAO_MT_NOTIFY_WORKER_TASK_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_POA_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_POA_Factory.h
deleted file mode 100644
index 1951e296392..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_POA_Factory.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_POA_Factory.h
- *
- * $Id$
- *
- * Factory interface for POA objects.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_POA_FACTORY_H
-#define TAO_NOTIFY_POA_FACTORY_H
-
-#include "ace/pre.h"
-#include "ace/Service_Object.h"
-#include "ace/Service_Config.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/corba.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "notify_export.h"
-
- /**
- * @class TAO_Notify_POA_Factory
- *
- * @brief TAO_Notify_POA_Factory
- *
- * Interface for POA objects.
- */
-class TAO_Notify_Export TAO_Notify_POA_Factory : public ACE_Service_Object
-{
- public:
- // = POA creation methods.
- /// Create the POA to activate Event Channels in.
- virtual PortableServer::POA_ptr create_event_channel_POA (PortableServer::POA_ptr parent_poa ACE_ENV_ARG_DECL) = 0;
-
- /// Create the POA to activate SA's in.
- virtual PortableServer::POA_ptr create_supplier_admin_POA (PortableServer::POA_ptr parent_poa, CORBA::Long new_poa_id ACE_ENV_ARG_DECL) = 0;
-
- /// Create the POA to activate CA's in.
- virtual PortableServer::POA_ptr create_consumer_admin_POA (PortableServer::POA_ptr parent_poa, CORBA::Long new_poa_id ACE_ENV_ARG_DECL) = 0;
-
- /// Create the POA to activate proxy push consumers in.
- virtual PortableServer::POA_ptr create_proxy_pushconsumer_POA (PortableServer::POA_ptr parent_poa, CORBA::Long new_poa_id ACE_ENV_ARG_DECL) = 0;
-
- /// Create the POA to activate proxy push suppliers in.
- virtual PortableServer::POA_ptr create_proxy_pushsupplier_POA (PortableServer::POA_ptr parent_poa, CORBA::Long new_poa_id ACE_ENV_ARG_DECL) = 0;
-
- // = Object activation and POA methods
- /// Converts <id> to an ObjectId and registers with the POA <poa>.
- virtual CORBA::Object_ptr activate_object_with_id (CORBA::Long id, PortableServer::POA_ptr poa,PortableServer::Servant servant ACE_ENV_ARG_DECL) = 0;
-
- /// Registers with the POA <poa>.
- virtual CORBA::Object_ptr activate_object (PortableServer::POA_ptr poa,PortableServer::Servant servant ACE_ENV_ARG_DECL) = 0;
-
- /// Registers with the POA <poa>.
- virtual CORBA::Object_ptr servant_to_reference (PortableServer::POA_ptr poa,PortableServer::Servant servant ACE_ENV_ARG_DECL) = 0;
-
- /// Look for the Object with id <id> in <poa>.
- virtual CORBA::Object_ptr id_to_reference (CORBA::Long id, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) = 0;
-
- /// Destroy the <poa>
- virtual void destroy_POA (PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) = 0;
-
- /// Deactivate the object.
- virtual void deactivate_object (CORBA::Object_ptr obj, PortableServer::POA_ptr poa ACE_ENV_ARG_DECL) = 0;
-
- /// Deactivate the object.
- virtual void deactivate_object (PortableServer::Servant servant, PortableServer::POA_ptr ACE_ENV_ARG_DECL) = 0;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_POA_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp
deleted file mode 100644
index 0eb9eaaba70..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-// $Id$
-#ifndef TAO_NOTIFY_PROXYCONSUMER_T_C
-#define TAO_NOTIFY_PROXYCONSUMER_T_C
-
-#include "Notify_ProxyConsumer_T.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_SupplierAdmin_i.h"
-#include "Notify_Factory.h"
-#include "Notify_Channel_Objects_Factory.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_AdminProperties.h"
-
-ACE_RCSID(Notify, Notify_ProxyConsumer_T, "$Id$")
-
-template <class SERVANT_TYPE>
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::TAO_Notify_ProxyConsumer (TAO_Notify_SupplierAdmin_i* supplier_admin)
- : supplier_admin_ (supplier_admin),
- filter_eval_task_ (0)
-{
- this->event_manager_ = supplier_admin->get_event_manager ();
- this->supplier_admin_->_add_ref ();
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::init (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- this->proxy_id_ = proxy_id;
-
- TAO_Notify_CO_Factory* cof =
- TAO_Notify_Factory::get_channel_objects_factory ();
-
- this->lock_ = cof->create_proxy_consumer_lock (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Create the task to forward filtering commands to:
-
- TAO_Notify_EMO_Factory* event_manager_objects_factory =
- this->event_manager_->resource_factory ();
-
- this->filter_eval_task_ =
- event_manager_objects_factory->create_source_eval_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- // open the tasks
- this->filter_eval_task_->init_task (admin_properties,
- &(this->qos_admin_));
-}
-
-// Implementation skeleton destructor
-template <class SERVANT_TYPE>
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::~TAO_Notify_ProxyConsumer (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
-
- this->event_manager_->unregister_from_subscription_updates (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- delete this->lock_;
-
- this->supplier_admin_->proxy_pushconsumer_destroyed (this->proxy_id_);
- this->supplier_admin_->_remove_ref ();
-
- // @@: Move this to on_disconnected
- this->filter_eval_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_Notify_EMO_Factory* event_manager_objects_factory =
- this->event_manager_->resource_factory ();
-
- event_manager_objects_factory->destroy_listener_eval_task (this->filter_eval_task_);
-}
-
-template <class SERVANT_TYPE> CORBA::Boolean
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::evaluate_filter (TAO_Notify_Event &event ACE_ENV_ARG_DECL)
-{
- // check if it passes the parent filter.
- CORBA::Boolean bval =
- this->supplier_admin_->get_filter_admin ().match (event
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Boolean ret_val;
-
- ret_val = this->supplier_admin_->MyOperator (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (ret_val == CosNotifyChannelAdmin::AND_OP)
- {
- ret_val = bval && this->filter_admin_.match (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- else
- {
- ret_val = bval || this->filter_admin_.match (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
-
- return ret_val;
-}
-
-template <class SERVANT_TYPE> TAO_Notify_Worker_Task*
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::filter_eval_task (void)
-{
- return this->filter_eval_task_;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::on_connected (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- TAO_Notify_Property_Long* const supplier_count =
- admin_properties->suppliers ();
-
- if (admin_properties->max_suppliers () != 0 &&
- supplier_count->value () >= admin_properties->max_suppliers ())
- ACE_THROW (CORBA::IMP_LIMIT ()); // we've reached the limit of suppliers connected.
-
- this->event_manager_->register_for_subscription_updates (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- (*supplier_count)++;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::on_disconnected (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
-{
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- (*(admin_properties->suppliers ()))--;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::offer_change (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ))
-{
- this->event_manager_->update_publication_list (added, removed ACE_ENV_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> CosNotification::EventTypeSeq*
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::obtain_subscription_types (CosNotifyChannelAdmin::ObtainInfoMode mode ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- CosNotification::EventTypeSeq* event_type_seq = 0;
-
- if (mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_OFF ||
- mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON)
- {
- event_type_seq = this->event_manager_->obtain_subscription_types ();
- }
-
- if (mode == CosNotifyChannelAdmin::NONE_NOW_UPDATES_ON ||
- mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON)
- {
- // if updates are currently off, switch them on.
- if (this->updates_on_ == 0)
- this->event_manager_->register_for_subscription_updates (this
- ACE_ENV_ARG_PARAMETER);
- }
- else
- {
- // if updates are currently on, switch them off.
- if (this->updates_on_ == 1)
- this->event_manager_->unregister_from_subscription_updates (this
- ACE_ENV_ARG_PARAMETER);
- }
-
- return event_type_seq;
-}
-
-template <class SERVANT_TYPE> CosNotifyChannelAdmin::SupplierAdmin_ptr
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::MyAdmin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->supplier_admin_->get_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxyConsumer<SERVANT_TYPE>::set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- // Call our base class set_qos ().
- TAO_Notify_Proxy<SERVANT_TYPE>::set_qos (qos ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Then update our task's qos
- if (this->filter_eval_task_ != 0)
- {
- this->filter_eval_task_->update_qos (this->qos_admin_);
- }
-}
-
-#endif /* TAO_NOTIFY_PROXYCONSUMER_T_C */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h
deleted file mode 100644
index f1f76291ba2..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h
+++ /dev/null
@@ -1,126 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_ProxyConsumer_T.h
- *
- * $Id$
- *
- * Template Base class for all Proxy Consumers.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_PROXYCONSUMER_T_H
-#define TAO_NOTIFY_PROXYCONSUMER_T_H
-#include "ace/pre.h"
-#include "Notify_Proxy_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_Listeners.h"
-
-class TAO_Notify_SupplierAdmin_i;
-
-#if defined (_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning (push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_ProxyConsumer
- *
- * @brief TAO_Notify_ProxyConsumer
- *
- * The is a base class for all proxy consumers.
- */
-template <class SERVANT_TYPE>
-class TAO_Notify_Export TAO_Notify_ProxyConsumer : public TAO_Notify_Proxy<SERVANT_TYPE>, virtual public TAO_Notify_EventSource
-{
-
-public:
- /// Constructor
- TAO_Notify_ProxyConsumer (TAO_Notify_SupplierAdmin_i* supplier_admin);
-
- /// Destructor
- virtual ~TAO_Notify_ProxyConsumer (void);
-
- /// Init the Proxy.
- void init (CosNotifyChannelAdmin::ProxyID myID ACE_ENV_ARG_DECL);
-
- // = TAO_Notify_EventSource methods.
- /// Evaluates true if this event is acceptable by the Source.
- virtual CORBA::Boolean evaluate_filter (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- /// The Worker task associated with the event listener for filter evaluation.
- TAO_Notify_Worker_Task* filter_eval_task (void);
-
- virtual CosNotifyChannelAdmin::SupplierAdmin_ptr MyAdmin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual CosNotification::EventTypeSeq * obtain_subscription_types (
- CosNotifyChannelAdmin::ObtainInfoMode mode
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void offer_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
- // Override the set_qos that comes from TAO_Notify_Proxy
- // so we can update the qos on our tasks.
- virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-protected:
- // = Helper methods
- /// Derived classes should call this when their suppliers connect.
- void on_connected (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Derived classes should call this when their suppliers disconnect.
- void on_disconnected (ACE_ENV_SINGLE_ARG_DECL);
-
- // = Data members
- /// My parent supplier admin.
- TAO_Notify_SupplierAdmin_i* supplier_admin_;
-
- /// The filter evaluation task for this listener.
- TAO_Notify_Worker_Task* filter_eval_task_;
-};
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Notify_ProxyConsumer_T.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Notify_ProxyConsumer_T.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#if defined (_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning (pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_PROXYPUSHCONSUMER_T_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.cpp
deleted file mode 100644
index 567124efd80..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// $Id$
-
-#include "Notify_ProxyPushConsumer_i.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_SupplierAdmin_i.h"
-
-ACE_RCSID(Notify, Notify_ProxyPushConsumer_i, "$Id$")
-
-typedef ACE_Reverse_Lock<ACE_Lock> TAO_Notify_Unlock;
-
-// Implementation skeleton constructor
-TAO_Notify_ProxyPushConsumer_i::TAO_Notify_ProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplier_admin)
- : proxy_inherited (supplier_admin),
- notify_style_supplier_ (0)
-{
-}
-
-// Implementation skeleton destructor
-TAO_Notify_ProxyPushConsumer_i::~TAO_Notify_ProxyPushConsumer_i (void)
-{
-}
-
-void
-TAO_Notify_ProxyPushConsumer_i::connect_any_push_supplier (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected
- ))
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 1)
- ACE_THROW (CosEventChannelAdmin::AlreadyConnected ());
- else
- {
- this->cosec_push_supplier_ =
- CosEventComm::PushSupplier::_duplicate (push_supplier);
-
- this->notify_push_supplier_ =
- CosNotifyComm::PushSupplier::_narrow (push_supplier ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (!CORBA::is_nil (this->notify_push_supplier_.in ()))
- {
- this->cosec_push_supplier_ = CosNotifyComm::PushSupplier::_nil ();
- this->notify_style_supplier_ = 1;
- }
-
- this->is_connected_ = 1;
- }
-
- ACE_TRY
- {
- TAO_Notify_Unlock reverse_lock (*this->lock_);
-
- {
- ACE_GUARD_THROW_EX (TAO_Notify_Unlock, ace_mon, reverse_lock,
- CORBA::INTERNAL ());
- ACE_TRY_CHECK;
-
- this->on_connected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- this->cosec_push_supplier_ =
- CosEventComm::PushSupplier::_nil ();
-
- this->notify_push_supplier_ =
- CosNotifyComm::PushSupplier::_nil ();
-
- this->is_connected_ = 0;
-
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_ProxyPushConsumer_i::dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL)
-{
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->notify_style_supplier_ == 0)
- return; // Our supplier doesn't support subscription_change.
- }
-
- ACE_TRY
- {
- this->notify_push_supplier_->subscription_change (added, removed
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_ProxyPushConsumer_i::push (const CORBA::Any & data ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ))
-{
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 0)
- ACE_THROW (CosEventComm::Disconnected ());
- }
-
- CORBA::Any * data_copy;
- ACE_NEW_THROW_EX (data_copy, CORBA::Any (data), CORBA::NO_MEMORY ());
-
- TAO_Notify_Any* notify_event = new TAO_Notify_Any(data_copy);
-
- this->event_manager_->process_event (notify_event, this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- notify_event->_decr_refcnt ();
-}
-
-void
-TAO_Notify_ProxyPushConsumer_i::disconnect_push_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // ask our parent to deactivate us.
- this->supplier_admin_->
- deactivate_proxy_pushconsumer (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->on_disconnected (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// = TAO_Notify_CosEC_ProxyPushConsumer_i
-
-TAO_Notify_CosEC_ProxyPushConsumer_i::TAO_Notify_CosEC_ProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplieradmin)
- :notify_proxy_ (supplieradmin)
-{
- // No-Op.
-}
-
-TAO_Notify_CosEC_ProxyPushConsumer_i::~TAO_Notify_CosEC_ProxyPushConsumer_i (void)
-{
- // No-Op.
-}
-
-void
-TAO_Notify_CosEC_ProxyPushConsumer_i::init (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Pass the default id.
- this->notify_proxy_.init (0 ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_CosEC_ProxyPushConsumer_i::push (const CORBA::Any &data ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->notify_proxy_.push (data ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_CosEC_ProxyPushConsumer_i::disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->notify_proxy_.disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_CosEC_ProxyPushConsumer_i::connect_push_supplier(CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected))
-{
- this->notify_proxy_.connect_any_push_supplier (push_supplier ACE_ENV_ARG_PARAMETER);
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_Notify_ProxyConsumer<POA_CosNotifyChannelAdmin::ProxyPushConsumer>;
-template class TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::ProxyPushConsumer>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO_Notify_ProxyConsumer<POA_CosNotifyChannelAdmin::ProxyPushConsumer>
-#pragma instantiate TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::ProxyPushConsumer>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.h
deleted file mode 100644
index f9947de3365..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.h
+++ /dev/null
@@ -1,145 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_ProxyPushConsumer_i.h
- *
- * $Id$
- *
- * Implements the CosNotifyChannelAdmin::ProxyPushConsumer interface and
- * CosEventChannelAdmin::ProxyPushConsumerx
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_PROXYPUSHCONSUMER_I_H
-#define TAO_NOTIFY_PROXYPUSHCONSUMER_I_H
-
-#include "ace/pre.h"
-#include "Notify_ProxyConsumer_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-class TAO_Notify_SupplierAdmin_i;
-class TAO_Notify_Event_Manager;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_ProxyPushConsumer_i
- *
- * @brief TAO_Notify_ProxyPushConsumer_i
- *
- * Implements the CosNotifyChannelAdmin::ProxyPushConsumer interface.
- */
-class TAO_Notify_Export TAO_Notify_ProxyPushConsumer_i : public TAO_Notify_ProxyConsumer <POA_CosNotifyChannelAdmin::ProxyPushConsumer>
-{
-
-public:
- /// Constructor
- TAO_Notify_ProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplier_admin);
-
- /// Destructor
- virtual ~TAO_Notify_ProxyPushConsumer_i (void);
-
- // = Interface methods
- void push (const CORBA::Any & data ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ));
-
- virtual void connect_any_push_supplier (
- CosEventComm::PushSupplier_ptr push_supplier
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected
- ));
-
-virtual void disconnect_push_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- protected:
-// = Helper methods
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL);
-
- // = Data members
- /**
- * True if the supplier supports the NotifySubscribe interface.
- * If it does, we use the <notify_push_supplier_> else we use
- * <cosec_push_supplier_>
- */
- CORBA::Boolean notify_style_supplier_;
-
- /// The supplier connected to us.
- CosEventComm::PushSupplier_var cosec_push_supplier_;
- CosNotifyComm::PushSupplier_var notify_push_supplier_;
-
- private:
- typedef TAO_Notify_ProxyConsumer <POA_CosNotifyChannelAdmin::ProxyPushConsumer>
- proxy_inherited;
-};
-
-/**
- * @class TAO_Notify_CosEC_ProxyPushConsumer_i
- *
- * @brief TAO_Notify_CosEC_ProxyPushConsumer_i
- *
- * CosEventChannelAdmin::ProxyPushConsumer wrapper implementation.
- * Delegates to TAO_Notify_ProxyPushConsumer_i.
- */
-class TAO_Notify_Export TAO_Notify_CosEC_ProxyPushConsumer_i : public virtual POA_CosEventChannelAdmin::ProxyPushConsumer, public virtual PortableServer::RefCountServantBase
-{
-public:
- // = Initialization and termination methods.
- /// Constructor.
- TAO_Notify_CosEC_ProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplieradmi);
-
- /// Destructor.
- virtual ~TAO_Notify_CosEC_ProxyPushConsumer_i (void);
-
- /// init.
- void init (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Suppliers call this method to pass data to connected consumers.
- virtual void push (const CORBA::Any &data
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Disconnects the supplier from the event communication.
- virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Connects a push supplier.
- virtual void connect_push_supplier(CosEventComm::PushSupplier_ptr push_supplier
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected));
- protected:
- // = Data Members
- /// Proxy to delegate to.
- TAO_Notify_ProxyPushConsumer_i notify_proxy_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_PROXYPUSHCONSUMER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp
deleted file mode 100644
index 049cc32f249..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-//$Id$
-
-#include "Notify_ProxyPushSupplier_i.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_ConsumerAdmin_i.h"
-
-ACE_RCSID(Notify, Notify_ProxyPushSupplier_i, "$Id$")
-
-typedef ACE_Reverse_Lock<ACE_Lock> TAO_Notify_Unlock;
-
-TAO_Notify_ProxyPushSupplier_i::TAO_Notify_ProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumer_admin)
- :proxy_inherited (consumer_admin),
- notify_style_consumer_ (0)
-{
-}
-
-// Implementation skeleton destructor
-TAO_Notify_ProxyPushSupplier_i::~TAO_Notify_ProxyPushSupplier_i (void)
-{
-}
-
-void
-TAO_Notify_ProxyPushSupplier_i::dispatch_event_i (TAO_Notify_Event &event ACE_ENV_ARG_DECL)
-{
- ACE_TRY
- {
- event.do_push (this->cosec_push_consumer_.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- ACE_DEBUG ((LM_DEBUG, "Exception dispatching any event\n"));
- // misbehaving client,
- this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_ProxyPushSupplier_i::dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL)
-{
- {
- ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
- if (this->notify_style_consumer_ == 0)
- return; // Our consumer doesn't support offer_change.
- }
-
- ACE_TRY
- {
- this->notify_push_consumer_->offer_change (added, removed ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_ProxyPushSupplier_i::connect_any_push_consumer (CosEventComm::PushConsumer_ptr push_consumer ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError
- ))
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (CORBA::is_nil (push_consumer))
- ACE_THROW (CosEventChannelAdmin::TypeError ());
- else if (this->is_connected_ == 1)
- ACE_THROW (CosEventChannelAdmin::AlreadyConnected ());
- else
- {
- this->cosec_push_consumer_ =
- CosEventComm::PushConsumer::_duplicate (push_consumer);
-
- this->notify_push_consumer_ =
- CosNotifyComm::PushConsumer::_narrow (push_consumer ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (!CORBA::is_nil (this->notify_push_consumer_.in ()))
- {
- CosNotifyComm::PushConsumer::
- _duplicate (this->notify_push_consumer_.in ());
- this->notify_style_consumer_ = 1;
- }
-
- this->is_connected_ = 1;
- } // else
-
- ACE_TRY
- {
- TAO_Notify_Unlock reverse_lock (*this->lock_);
-
- {
- ACE_GUARD_THROW_EX (TAO_Notify_Unlock, ace_mon, reverse_lock,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- this->on_connected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- this->cosec_push_consumer_ = CosNotifyComm::PushConsumer::_nil ();
- this->notify_push_consumer_ = CosNotifyComm::PushConsumer::_nil ();
-
- this->is_connected_ = 0;
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_ProxyPushSupplier_i::shutdown_i (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->on_disconnected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // ask our parent to deactivate us.
- this->consumer_admin_->
- deactivate_proxy_pushsupplier (this ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_ProxyPushSupplier_i::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // unregister with CA
- this->consumer_admin_->unregister_listener (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_ProxyPushSupplier_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Tell the consumer that we're going away ...
- // @@ Later, lookup a "notify_on_disconnect" option.
-
- {
- ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
-
- if (this->is_connected_ == 0)
- return;
- }
-
- this->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_TRY
- {
- this->cosec_push_consumer_->disconnect_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // ignore
- }
- ACE_ENDTRY;
-}
-
-// = TAO_Notify_CosEC_ProxyPushSupplier_i
-
-TAO_Notify_CosEC_ProxyPushSupplier_i::TAO_Notify_CosEC_ProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumer_admin)
- :notify_proxy_ (consumer_admin)
-{
- // No-Op.
-}
-
-TAO_Notify_CosEC_ProxyPushSupplier_i::~TAO_Notify_CosEC_ProxyPushSupplier_i (void)
-{
-}
-
-void
-TAO_Notify_CosEC_ProxyPushSupplier_i::init (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->notify_proxy_.init (0 ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_CosEC_ProxyPushSupplier_i::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->notify_proxy_.disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_CosEC_ProxyPushSupplier_i::connect_push_consumer(CosEventComm::PushConsumer_ptr push_consumer ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError))
-{
- this->notify_proxy_.connect_any_push_consumer (push_consumer ACE_ENV_ARG_PARAMETER);
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::ProxyPushSupplier>;
-template class TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::ProxyPushSupplier>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::ProxyPushSupplier>
-#pragma instantiate TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::ProxyPushSupplier>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Unbounded_Queue<TAO_Notify_Event*>;
-template class ACE_Node<TAO_Notify_Event*>;
-template class ACE_Unbounded_Queue_Iterator <TAO_Notify_Event*>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Unbounded_Queue<TAO_Notify_Event*>
-#pragma instantiate ACE_Node<TAO_Notify_Event*>
-#pragma instantiate ACE_Unbounded_Queue_Iterator <TAO_Notify_Event*>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.h
deleted file mode 100644
index ccf8d305d52..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.h
+++ /dev/null
@@ -1,140 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_ProxyPushSupplier_i.h
- *
- * $Id$
- *
- * implements CosNotifyChannelAdmin::ProxyPushSupplier and
- * CosEventChannelAdmin::ProxyPushSupplier
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_PROXYPUSHSUPPLIER_I_H
-#define TAO_NOTIFY_PROXYPUSHSUPPLIER_I_H
-
-#include "ace/pre.h"
-#include "Notify_ProxySupplier_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-class TAO_Notify_ConsumerAdmin_i;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_ProxyPushSupplier_i
- *
- * @brief TAO_Notify_ProxyPushSupplier_i
- *
- * implements CosNotifyChannelAdmin::ProxyPushSupplier.
- */
-class TAO_Notify_Export TAO_Notify_ProxyPushSupplier_i : public TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::ProxyPushSupplier>
-{
-
-public:
- /// Constructor
- TAO_Notify_ProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumeradmin);
-
- /// Destructor
- virtual ~TAO_Notify_ProxyPushSupplier_i (void);
-
- // = Interface methods
- virtual void connect_any_push_consumer (
- CosEventComm::PushConsumer_ptr push_consumer
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError
- ));
-
- virtual void disconnect_push_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- /// Shutdown.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- protected:
- /// Shutdown
- void shutdown_i (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Deliver the event to the consumer.
- virtual void dispatch_event_i (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- /// Deliver the update to the consumer.
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL);
-
- // = Data Members.
- /// True if the consumer supports the NotifyPublish interface.
- /// If it does, we use the <notify_push_consumer_> else <cosec_push_consumer_>
- CORBA::Boolean notify_style_consumer_;
-
- /// The consumer connected to us.
- CosEventComm::PushConsumer_var cosec_push_consumer_;
- CosNotifyComm::PushConsumer_var notify_push_consumer_;
-
- private:
- typedef TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::ProxyPushSupplier>
- proxy_inherited;
-};
-
-/**
- * @class TAO_Notify_CosEC_ProxyPushSupplier_i
- *
- * @brief TAO_Notify_CosEC_ProxyPushSupplier_i
- *
- * implements CosEventChannelAdmin::ProxyPushSupplier by delegating
- * to TAO_Notify_ProxyPushSupplier_i.
- */
-class TAO_Notify_Export TAO_Notify_CosEC_ProxyPushSupplier_i : public POA_CosEventChannelAdmin::ProxyPushSupplier, public virtual PortableServer::RefCountServantBase
-{
-public:
- // = Initialization and termination methods.
- /// Constructor.
- TAO_Notify_CosEC_ProxyPushSupplier_i(TAO_Notify_ConsumerAdmin_i* consumeradmin);
-
- /// Destructor.
- ~TAO_Notify_CosEC_ProxyPushSupplier_i (void);
-
- /// Init.
- void init (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Ends the event communication and disposes this object.
- virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Connects the <push_consumer> to the Event Channel.
- virtual void connect_push_consumer(CosEventComm::PushConsumer_ptr push_consumer ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError));
-
- protected:
- // = Data Members
- /// The proxy that we delegate too.
- TAO_Notify_ProxyPushSupplier_i notify_proxy_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_PROXYPUSHSUPPLIER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp
deleted file mode 100644
index 3de9a2d04c8..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp
+++ /dev/null
@@ -1,499 +0,0 @@
-// $Id$
-
-#ifndef TAO_NOTIFY_PROXYSUPPLIER_T_C
-#define TAO_NOTIFY_PROXYSUPPLIER_T_C
-
-#include "Notify_ProxySupplier_T.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_ConsumerAdmin_i.h"
-#include "Notify_Factory.h"
-#include "Notify_Channel_Objects_Factory.h"
-#include "Notify_Event_Manager_Objects_Factory.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_AdminProperties.h"
-
-ACE_RCSID (Notify,
- Notify_ProxySupplier_T,
- "$Id$")
-
-template <class SERVANT_TYPE>
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::TAO_Notify_ProxySupplier (TAO_Notify_ConsumerAdmin_i* consumer_admin)
- :consumer_admin_ (consumer_admin),
- is_suspended_ (0),
- dispatching_task_ (0),
- filter_eval_task_ (0)
-{
- this->event_manager_ = consumer_admin->get_event_manager ();
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::init (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- consumer_admin_->_add_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->proxy_id_ = proxy_id;
-
- TAO_Notify_CO_Factory* cof =
- TAO_Notify_Factory::get_channel_objects_factory ();
-
- this->lock_ = cof->create_proxy_supplier_lock (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_Notify_EMO_Factory* event_manager_objects_factory =
- this->event_manager_->resource_factory ();
-
- // Create the task to forward filtering/dispatching commands to:
- this->dispatching_task_ =
- event_manager_objects_factory->create_dispatching_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->filter_eval_task_ =
- event_manager_objects_factory->create_listener_eval_task (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- // Init the tasks
- this->dispatching_task_->init_task (admin_properties,
- &(this->qos_admin_));
- this->filter_eval_task_->init_task (admin_properties,
- &(this->qos_admin_));
-
- {
- TAO_Notify_EventType& special_type =
- TAO_Notify_EventType::special_event_type ();
-
- CosNotification::EventTypeSeq added (1), removed (0);
-
- added.length (1);
- removed.length (0);
-
- added[0] = special_type.get_native ();
-
- this->subscription_change (added, removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-// Implementation skeleton destructor
-template <class SERVANT_TYPE>
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::~TAO_Notify_ProxySupplier (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- this->event_manager_->unregister_from_publication_updates (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // unsubscribe it to our current subscriptions.
- CosNotification::EventTypeSeq added (0);
- CosNotification::EventTypeSeq removed (this->subscription_list_.size ());
-
- this->subscription_list_.populate (removed);
- added.length (0);
-
- this->event_manager_->subscribe_for_events (this,
- added, removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- delete this->lock_;
-
- this->consumer_admin_->proxy_pushsupplier_destroyed (this->proxy_id_);
-
- consumer_admin_->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO_Notify_EMO_Factory* event_manager_objects_factory =
- this->event_manager_->resource_factory ();
-
- event_manager_objects_factory->destroy_dispatching_task (this->dispatching_task_);
- event_manager_objects_factory->destroy_source_eval_task (this->filter_eval_task_);
-}
-
-template <class SERVANT_TYPE> CORBA::Boolean
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::evaluate_filter (TAO_Notify_Event &event, CORBA::Boolean eval_parent ACE_ENV_ARG_DECL)
-{
- if (eval_parent == 1)
- {
- CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator =
- consumer_admin_->MyOperator (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- // Inter-filter group operator.
-
- CORBA::Boolean bval =
- this->consumer_admin_->get_filter_admin ().match (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if ((bval == 1 && filter_operator == CosNotifyChannelAdmin::AND_OP) ||
- (bval == 0 && filter_operator == CosNotifyChannelAdmin::OR_OP))
- {
- bval = this->filter_admin_.match (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- return bval;
- }
- else if (bval == 1 && filter_operator == CosNotifyChannelAdmin::OR_OP)
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- else
- {
- int status = this->filter_admin_.match (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- return status;
- }
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::dispatch_event (TAO_Notify_Event &event ACE_ENV_ARG_DECL)
-{
- if (this->is_connected_ == 0)
- {
- ACE_DEBUG ((LM_DEBUG,"%t, %P",
- "dispatch_event to disconnected proxy supplier from EC\n"));
- return;
- }
-
- if (this->is_suspended_ == 1)
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- this->event_list_.enqueue_tail (event.clone ());
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "dispatching event\n"));
- this->dispatch_event_i (event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-template <class SERVANT_TYPE> TAO_Notify_Worker_Task*
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::event_dispatch_task (void)
-{
- return this->dispatching_task_;
-}
-
-template <class SERVANT_TYPE> TAO_Notify_Worker_Task*
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::filter_eval_task (void)
-{
- return this->filter_eval_task_;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::subscription_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException,
- CosNotifyComm::InvalidEventType))
-{
- TAO_Notify_EventType_List seq_added, seq_removed;
-
- seq_added.insert_seq (added);
- seq_removed.insert_seq (removed);
-
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- TAO_Notify_EventType_List::preprocess (this->subscription_list_, seq_added, seq_removed);
- }
-
- if (this->is_connected_ == 1)
- {
- CosNotification::EventTypeSeq p_added, p_removed;
-
- seq_added.populate (p_added);
- seq_removed.populate (p_removed);
-
- this->event_manager_->subscribe_for_events (this,
- p_added, p_removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- "ProxySupplier %d: added following types: ",
- proxy_id_ ));
-
- CORBA::ULong i = 0;
-
- for (i = 0; i < p_added.length (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%s, %s)\t",
- p_added[i].domain_name.in(),
- p_added[i].type_name.in()));
- }
-
- ACE_DEBUG ((LM_DEBUG,"\n ProxySupplier %d: removed following types: ",proxy_id_ ));
-
- for (i = 0; i < p_removed.length (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%s, %s)\t",
- p_removed[i].domain_name.in(),
- p_removed[i].type_name.in()));
- }
-
- CosNotification::EventTypeSeq current;
- this->subscription_list_.populate (current);
-
- ACE_DEBUG ((LM_DEBUG,
- "\n ProxySupplier %d:current subscriptions: ",
- proxy_id_ ));
-
- for (i = 0; i < current.length (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- "(%s, %s)\n",
- current[i].domain_name.in(),
- current[i].type_name.in()));
- }
- }
- }
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::on_connected (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- TAO_Notify_Property_Long* const consumer_count =
- admin_properties->consumers ();
-
- if (admin_properties->max_consumers () != 0 &&
- consumer_count->value () >= admin_properties->max_consumers ())
- ACE_THROW (CORBA::IMP_LIMIT ()); // we've reached the limit of consumers connected.
-
- // register with CA
- this->consumer_admin_->register_listener (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CosNotification::EventTypeSeq added;
-
- CosNotification::EventTypeSeq removed (0);
- removed.length (0);
-
- // subscribe it to our current subscriptions.
- added.length (this->subscription_list_.size ());
-
- this->subscription_list_.populate (added);
-
- this->event_manager_->subscribe_for_events (this,
- added,
- removed
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_manager_->register_for_publication_updates (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- (*consumer_count)++;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::on_disconnected (ACE_ENV_SINGLE_ARG_DECL)
-{
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 0)
- return;
-
- this->is_connected_ = 0;
- }
-
- CosNotification::EventTypeSeq removed;
-
- CosNotification::EventTypeSeq added (0);
- added.length (0);
-
- // unsubscribe it to our current subscriptions.
- removed.length (this->subscription_list_.size ());
-
- this->subscription_list_.populate (removed);
-
- this->event_manager_->subscribe_for_events (this,
- added, removed ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->event_manager_->unregister_from_publication_updates (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // shutdown the tasks.
-
- this->dispatching_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->filter_eval_task_->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Get hold of the admin properties.
- TAO_Notify_AdminProperties* const admin_properties =
- this->event_manager_->admin_properties ();
-
- (*(admin_properties->consumers ()))--;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::suspend_connection (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ConnectionAlreadyInactive,
- CosNotifyChannelAdmin::NotConnected
- ))
-{
- this->is_suspended_ = 1;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::resume_connection (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ConnectionAlreadyActive,
- CosNotifyChannelAdmin::NotConnected
- ))
-{
- TAO_Notify_Event* event;
-
- this->is_suspended_ = 0;
-
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- while (this->event_list_.dequeue_head (event) == 0)
- {
- this->dispatch_event_i (*event ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- delete event;
- }
- }
-}
-
-template <class SERVANT_TYPE> CosNotifyChannelAdmin::ConsumerAdmin_ptr
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::MyAdmin (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->consumer_admin_->get_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> CosNotifyFilter::MappingFilter_ptr
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::priority_filter (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosNotifyFilter::MappingFilter::_nil ());
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::priority_filter (CosNotifyFilter::MappingFilter_ptr /*priority_filter*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-template <class SERVANT_TYPE> CosNotifyFilter::MappingFilter_ptr
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::lifetime_filter (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosNotifyFilter::MappingFilter::_nil ());
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::lifetime_filter (CosNotifyFilter::MappingFilter_ptr /*lifetime_filter*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-template <class SERVANT_TYPE> CosNotification::EventTypeSeq*
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::obtain_offered_types (CosNotifyChannelAdmin::ObtainInfoMode mode ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- CosNotification::EventTypeSeq* event_type_seq = 0;
-
- if (mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_OFF ||
- mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON)
- {
- event_type_seq = this->event_manager_->obtain_offered_types ();
- }
-
- if (mode == CosNotifyChannelAdmin::NONE_NOW_UPDATES_ON ||
- mode == CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON)
- {
- // if updates are currently off, switch them on.
- if (this->updates_on_ == 0)
- this->event_manager_->register_for_publication_updates (this
- ACE_ENV_ARG_PARAMETER);
- }
- else
- {
- // if updates are currently on, switch them off.
- if (this->updates_on_ == 1)
- this->event_manager_->unregister_from_publication_updates (this
- ACE_ENV_ARG_PARAMETER);
- }
- return event_type_seq;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_ProxySupplier<SERVANT_TYPE>::set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- // Call our base class set_qos ().
- TAO_Notify_Proxy<SERVANT_TYPE>::set_qos (qos ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Then update our task's qos
- if (this->dispatching_task_ != 0)
- {
- this->dispatching_task_->update_qos (this->qos_admin_);
- }
- if (this->filter_eval_task_ != 0)
- {
- this->filter_eval_task_->update_qos (this->qos_admin_);
- }
-}
-
-
-#endif /* TAO_NOTIFY_PROXYSUPPLIER_T_C */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h
deleted file mode 100644
index e314a742b6c..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * @file Notify_ProxySupplier_T.h
- *
- * $Id$
- *
- * Template Base class for all Proxy Suppliers.
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-
-#ifndef TAO_NOTIFY_PROXY_SUPPLIER_T_H
-#define TAO_NOTIFY_PROXY_SUPPLIER_T_H
-#include "ace/pre.h"
-
-#include "Notify_Proxy_T.h"
-#include "Notify_Collection.h"
-
-class TAO_Notify_ConsumerAdmin_i;
-
-#if defined (_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning (push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_ProxySupplier
- *
- * @brief TAO_Notify_ProxySupplier
- *
- * The is a base class for all proxy suppliers.
- */
-template <class SERVANT_TYPE>
-class TAO_Notify_Export TAO_Notify_ProxySupplier : public TAO_Notify_Proxy <SERVANT_TYPE>, virtual public TAO_Notify_EventListener
-{
-
-public:
- /// Constructor
- TAO_Notify_ProxySupplier (TAO_Notify_ConsumerAdmin_i* consumeradmin);
-
- /// Destructor
- virtual ~TAO_Notify_ProxySupplier (void);
-
- /// Init the Proxy.
- void init (CosNotifyChannelAdmin::ProxyID myID ACE_ENV_ARG_DECL);
-
- // = Notify_Event_Listener methods
- virtual void dispatch_event (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- virtual CORBA::Boolean evaluate_filter (TAO_Notify_Event &event, CORBA::Boolean eval_parent ACE_ENV_ARG_DECL);
-
- /// The Worker task associated with the event listener for event dispatching
- virtual TAO_Notify_Worker_Task* event_dispatch_task (void);
-
- /// The Worker task associated with the event listener for filter evaluation.
- virtual TAO_Notify_Worker_Task* filter_eval_task (void);
-
- // = Interface methods
- virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr MyAdmin (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void suspend_connection (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ConnectionAlreadyInactive,
- CosNotifyChannelAdmin::NotConnected
- ));
-
- virtual void resume_connection (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ConnectionAlreadyActive,
- CosNotifyChannelAdmin::NotConnected
- ));
-
- virtual CosNotifyFilter::MappingFilter_ptr priority_filter (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void priority_filter (
- CosNotifyFilter::MappingFilter_ptr priority_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual CosNotifyFilter::MappingFilter_ptr lifetime_filter (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void lifetime_filter (
- CosNotifyFilter::MappingFilter_ptr lifetime_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual CosNotification::EventTypeSeq * obtain_offered_types (
- CosNotifyChannelAdmin::ObtainInfoMode mode
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void subscription_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
- // override the set_qos that comes from TAO_Notify_Proxy
- // so we can update the qos on our tasks.
- virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
- protected:
- // = Helper methods
- /// Derived classes should implement this.
- virtual void dispatch_event_i (TAO_Notify_Event &event ACE_ENV_ARG_DECL) = 0;
-
- /// Derived classes should call this when their consumers connect.
- void on_connected (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Derived classes should call this when their consumers disconnect.
- void on_disconnected (ACE_ENV_SINGLE_ARG_DECL);
-
- // = Data members
- /// My parent consumer admin.
- TAO_Notify_ConsumerAdmin_i* consumer_admin_;
-
- /// A list of event types that we are interested in.
- TAO_Notify_EventType_List subscription_list_;
-
- /// True if we are connected to a consumer and suspended.
- CORBA::Boolean is_suspended_;
-
- /// A list of events populated when we're suspended.
- typedef ACE_Unbounded_Queue<TAO_Notify_Event*> TAO_Notify_Event_List;
- TAO_Notify_Event_List event_list_;
-
- /// The dispatching task to send events to a listener group affiliated with this listener.
- TAO_Notify_Worker_Task* dispatching_task_;
-
- /// The filter evaluation task for this listener.
- TAO_Notify_Worker_Task* filter_eval_task_;
-};
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Notify_ProxySupplier_T.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Notify_ProxySupplier_T.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#if defined (_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning (pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_PROXY_SUPPLIER_T_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp
deleted file mode 100644
index 690b25585e7..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// $Id$
-
-#ifndef TAO_NOTIFY_PROXY_T_C
-#define TAO_NOTIFY_PROXY_T_C
-
-#include "Notify_Proxy_T.h"
-#include "Notify_Event_Manager.h"
-
-#include "tao/debug.h"
-
-ACE_RCSID(Notify, Notify_Proxy_T, "$Id$")
-
-template <class SERVANT_TYPE>
-TAO_Notify_Proxy<SERVANT_TYPE>::TAO_Notify_Proxy (void)
- :lock_ (0),
- refcount_ (1),
- is_connected_ (0),
- updates_on_ (1)
-{
- // No-Op.
-}
-
-// Implementation skeleton destructor
-template <class SERVANT_TYPE>
-TAO_Notify_Proxy<SERVANT_TYPE>::~TAO_Notify_Proxy (void)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "in ~TAO_Notify_Proxy\n"));
-}
-
-template <class SERVANT_TYPE> CORBA::ULong
-TAO_Notify_Proxy<SERVANT_TYPE>::_incr_refcnt (void)
-{
- ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
- return this->refcount_++;
-}
-
-template <class SERVANT_TYPE> CORBA::ULong
-TAO_Notify_Proxy<SERVANT_TYPE>::_decr_refcnt (void)
-{
- {
- ACE_GUARD_RETURN (ACE_Lock, ace_mon, *this->lock_, 0);
- this->refcount_--;
- if (this->refcount_ != 0)
- return this->refcount_;
- }
-
- delete this;
- return 0;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::_add_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
-{
- this->_incr_refcnt ();
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
-{
- this->_decr_refcnt ();
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::dispatch_update (TAO_Notify_EventType_List& added_list, TAO_Notify_EventType_List& removed_list ACE_ENV_ARG_DECL)
-{
- CosNotification::EventTypeSeq added (added_list.size ());
- CosNotification::EventTypeSeq removed (removed_list.size ());
-
- added_list.populate (added);
- removed_list.populate (removed);
-
- this->dispatch_update_i (added, removed ACE_ENV_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> CosNotifyChannelAdmin::ProxyType
-TAO_Notify_Proxy<SERVANT_TYPE>::MyType (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return proxy_type_;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::validate_event_qos (const CosNotification::QoSProperties & /*required_qos*/, CosNotification::NamedPropertyRangeSeq_out /*available_qos*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-template <class SERVANT_TYPE> CosNotification::QoSProperties*
-TAO_Notify_Proxy<SERVANT_TYPE>::get_qos (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->qos_admin_.get_qos (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- this->qos_admin_.set_qos (qos ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->setup_qos_policies (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::validate_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- this->qos_admin_.validate_qos (required_qos, available_qos ACE_ENV_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> CosNotifyFilter::FilterID
-TAO_Notify_Proxy<SERVANT_TYPE>::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::remove_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- this->filter_admin_.remove_filter (filter ACE_ENV_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> CosNotifyFilter::Filter_ptr
-TAO_Notify_Proxy<SERVANT_TYPE>::get_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- return this->filter_admin_.get_filter (filter ACE_ENV_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> CosNotifyFilter::FilterIDSeq*
-TAO_Notify_Proxy<SERVANT_TYPE>::get_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_admin_.get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-template <class SERVANT_TYPE> const TAO_Notify_QoSAdmin_i&
-TAO_Notify_Proxy<SERVANT_TYPE>::qos_admin (void) const
-{
- return this->qos_admin_;
-}
-
-template <class SERVANT_TYPE> void
-TAO_Notify_Proxy<SERVANT_TYPE>::setup_qos_policies (
- ACE_ENV_SINGLE_ARG_DECL)
-{
- this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-#endif /* TAO_NOTIFY_PROXY_T_C */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h
deleted file mode 100644
index 6b1b7b1c95f..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h
+++ /dev/null
@@ -1,211 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_Proxy_T.h
- *
- * $Id$
- *
- * Template Base class for all Proxys.
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_PROXY_T_H
-#define TAO_NOTIFY_PROXY_T_H
-#include "ace/pre.h"
-#include "ace/Containers_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-#include "orbsvcs/CosNotificationS.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_FilterAdmin_i.h"
-#include "Notify_Listeners.h"
-#include "notify_export.h"
-
-class TAO_Notify_Event_Manager;
-
-#if defined (_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning (push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-// @@ Pradeep: this is cool, deriving from the template type is really
-// neat. I bet it is going to break something like 90% of the
-// compilers, but they deserve it! ;-) ;-)
-
-/**
- * @class TAO_Notify_Proxy
- *
- * @brief TAO_Notify_Proxy
- *
- * The is a base class for all proxys , templatized by the servant
- * type. All the Filter Admin and QoS Admin interface methods are
- * implemented here by delegating to the admin implementations.
- */
-template <class SERVANT_TYPE>
-class TAO_Notify_Export TAO_Notify_Proxy : public SERVANT_TYPE, virtual public TAO_Notify_UpdateListener, public PortableServer::RefCountServantBase
-{
-
-public:
- /// Constructor
- TAO_Notify_Proxy (void);
-
- /// Destructor
- virtual ~TAO_Notify_Proxy (void);
-
- // = TAO_Notify_RefCounted methods
- /// Increment the reference count.
- CORBA::ULong _incr_refcnt (void);
-
- /// Decrement the reference count.
- CORBA::ULong _decr_refcnt (void);
-
- // = The Servant methods
- virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL);
- virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- // = Notify_Update_Listener methods
- virtual void dispatch_update (TAO_Notify_EventType_List& added_list, TAO_Notify_EventType_List& removed_list ACE_ENV_ARG_DECL);
-
- virtual CosNotifyChannelAdmin::ProxyType MyType (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void validate_event_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
- virtual CosNotification::QoSProperties * get_qos (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
- virtual void validate_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
- virtual CosNotifyFilter::FilterID add_filter (
- CosNotifyFilter::Filter_ptr new_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void remove_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
- virtual CosNotifyFilter::Filter_ptr get_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
- virtual CosNotifyFilter::FilterIDSeq * get_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void remove_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- const TAO_Notify_QoSAdmin_i& qos_admin (void) const;
-
-protected:
- /// Derived types should implement this to deliver the update.
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL) = 0;
-
- /// Derived types may implement this if they need to do something
- /// directly after setting the qos policies.
- virtual void setup_qos_policies (ACE_ENV_SINGLE_ARG_DECL);
-
- // = Data members
- /// The locking strategy.
- ACE_Lock* lock_;
-
- /// The reference count.
- CORBA::ULong refcount_;
-
- /// What type are we?
- CosNotifyChannelAdmin::ProxyType proxy_type_;
-
- /// Our event manager.
- TAO_Notify_Event_Manager* event_manager_;
-
- /// True if we are connected to a consumer.
- CORBA::Boolean is_connected_;
-
- /// True by default, for subscription/publication updates.
- CORBA::Boolean updates_on_;
-
- /// Handle QoS admin methods.
- TAO_Notify_QoSAdmin_i qos_admin_;
-
- /// Handles the Filter admin methods.
- TAO_Notify_FilterAdmin_i filter_admin_;
-
- /// The ID assigned to this Proxy.
- CosNotifyChannelAdmin::ProxyID proxy_id_;
-};
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Notify_Proxy_T.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Notify_Proxy_T.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#if defined (_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning (pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_PROXY_T_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp
deleted file mode 100644
index 97287df8c1d..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/* -*- C++ -*- $Id$ */
-
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_Extensions.h"
-
-#if !defined (__ACE_INLINE__)
-#include "Notify_QoSAdmin_i.inl"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Notify, Notify_QoSAdmin_i, "$Id$")
-
-// Implementation skeleton constructor
-TAO_Notify_QoSAdmin_i::TAO_Notify_QoSAdmin_i (void)
- :event_reliability_ (CosNotification::BestEffort),
- event_reliability_set_ (0),
- connection_reliability_ (CosNotification::BestEffort),
- connection_reliability_set_ (0),
- priority_ (CosNotification::DefaultPriority),
- priority_set_ (0),
- timeout_ (0),
- timeout_set_ (0),
- start_time_supported_ (0),
- start_time_supported_set_ (0),
- stop_time_supported_ (0),
- stop_time_supported_set_ (0),
- max_events_per_consumer_ (0),
- max_events_per_consumer_set_ (0),
- order_policy_ (CosNotification::AnyOrder),
- order_policy_set_ (0),
- discard_policy_ (CosNotification::AnyOrder),
- discard_policy_set_ (0),
- maximum_batch_size_ (1),
- maximum_batch_size_set_ (0),
- pacing_interval_ (0),
- pacing_interval_set_ (0),
- blocking_timeout_ (0),
- blocking_timeout_set_ (0)
-{
-}
-
-// Implementation skeleton destructor
-TAO_Notify_QoSAdmin_i::~TAO_Notify_QoSAdmin_i (void)
-{
-}
-
-CosNotification::QoSProperties * TAO_Notify_QoSAdmin_i::get_qos (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- static const unsigned int property_count = 12;
- CosNotification::QoSProperties_var properties;
- ACE_NEW_THROW_EX (properties,
- CosNotification::AdminProperties (property_count),
- CORBA::NO_MEMORY ());
-
- properties->length (property_count);
- unsigned int index = 0;
-
- if (this->event_reliability_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::EventReliability);
- (*properties)[index++].value <<= this->event_reliability_;
- }
- if (this->connection_reliability_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::ConnectionReliability);
- (*properties)[index++].value <<= this->connection_reliability_;
- }
- if (this->priority_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::Priority);
- (*properties)[index++].value <<= this->priority_;
- }
- if (this->timeout_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::Timeout);
- (*properties)[index++].value <<= this->timeout_;
- }
- if (this->blocking_timeout_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (TAO_Notify_Extensions::BlockingPolicy);
- (*properties)[index++].value <<= this->blocking_timeout_;
- }
- if (this->start_time_supported_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::StartTimeSupported);
- (*properties)[index++].value <<= CORBA::Any::from_boolean (
- this->start_time_supported_);
- }
- if (this->stop_time_supported_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::StopTimeSupported);
- (*properties)[index++].value <<= CORBA::Any::from_boolean (
- this->stop_time_supported_);
- }
- if (this->max_events_per_consumer_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::MaxEventsPerConsumer);
- (*properties)[index++].value <<= this->max_events_per_consumer_;
- }
- if (this->order_policy_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::OrderPolicy);
- (*properties)[index++].value <<= this->order_policy_;
- }
- if (this->discard_policy_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::DiscardPolicy);
- (*properties)[index++].value <<= this->discard_policy_;
- }
- if (this->maximum_batch_size_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::MaximumBatchSize);
- (*properties)[index++].value <<= this->maximum_batch_size_;
- }
- if (this->pacing_interval_set_)
- {
- (*properties)[index].name =
- CORBA::string_dup (CosNotification::PacingInterval);
- (*properties)[index++].value <<= this->pacing_interval_;
- }
-
- // Set the length
- properties->length (index);
-
- return properties._retn ();
-}
-
-void
-TAO_Notify_QoSAdmin_i::set_qos (const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- for (CORBA::ULong index = 0; index < qos.length (); ++index)
- {
- ACE_CString property_name (qos[index].name);
-
- if (property_name.compare (CosNotification::EventReliability) == 0)
- {
- CosNotification::PropertyErrorSeq err_seq (1);
- err_seq.length (1);
-
- err_seq[0].code = CosNotification::UNSUPPORTED_PROPERTY;
- err_seq[0].name = CORBA::string_dup (CosNotification::EventReliability);
-
- this->event_reliability_set_ = 1;
- ACE_THROW (CosNotification::UnsupportedQoS (err_seq));
- }
- else if (property_name.compare (CosNotification::ConnectionReliability) == 0)
- {
- CosNotification::PropertyErrorSeq err_seq (1);
- err_seq.length (1);
-
- err_seq[0].code = CosNotification::UNSUPPORTED_PROPERTY;
- err_seq[0].name = CORBA::string_dup (CosNotification::ConnectionReliability);
-
- this->connection_reliability_set_ = 1;
- ACE_THROW (CosNotification::UnsupportedQoS (err_seq));
- }
- else if (property_name.compare (CosNotification::Priority) == 0)
- {
- qos[index].value >>= this->priority_;
- this->priority_set_ = 1;
- }
- else if (property_name.compare (CosNotification::Timeout) == 0)
- {
- qos[index].value >>= this->timeout_;
- this->timeout_set_ = 1;
- }
- else if (property_name.compare (TAO_Notify_Extensions::BlockingPolicy) == 0)
- {
- qos[index].value >>= this->blocking_timeout_;
- this->blocking_timeout_set_ = 1;
- }
- else if (property_name.compare (CosNotification::StartTimeSupported) == 0)
- {
- qos[index].value >>= CORBA::Any::to_boolean (this->start_time_supported_);
- this->start_time_supported_set_ = 1;
- }
- else if (property_name.compare (CosNotification::StopTimeSupported) == 0)
- {
- qos[index].value >>= CORBA::Any::to_boolean (this->stop_time_supported_);
- this->stop_time_supported_set_ = 1;
- }
- else if (property_name.compare (CosNotification::MaxEventsPerConsumer) == 0)
- {
- qos[index].value >>= this->max_events_per_consumer_;
- this->max_events_per_consumer_set_ = 1;
- }
- else if (property_name.compare (CosNotification::OrderPolicy) == 0)
- {
- qos[index].value >>= this->order_policy_;
- this->order_policy_set_ = 1;
- }
- else if (property_name.compare (CosNotification::DiscardPolicy) == 0)
- {
- qos[index].value >>= this->discard_policy_;
- this->discard_policy_set_ = 1;
- }
- else if (property_name.compare (CosNotification::MaximumBatchSize) == 0)
- {
- qos[index].value >>= this->maximum_batch_size_;
- this->maximum_batch_size_set_ = 1;
- }
- else if (property_name.compare (CosNotification::PacingInterval) == 0)
- {
- qos[index].value >>= this->pacing_interval_;
- this->pacing_interval_set_ = 1;
- }
- }
-}
-
-void
-TAO_Notify_QoSAdmin_i::validate_qos (
- const CosNotification::QoSProperties & /*required_qos*/,
- CosNotification::NamedPropertyRangeSeq_out /*available_qos*/
- ACE_ENV_ARG_DECL_NOT_USED //ACE_ENV_SINGLE_ARG_PARAMETER
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- //Add your implementation here
- return;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h
deleted file mode 100644
index 23e631f47a9..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_QoSAdmin_i.h
- *
- * $Id$
- *
- * Implements get/set methods for QoS properties.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_QOSADMIN_I_H
-#define TAO_NOTIFY_QOSADMIN_I_H
-#include "ace/pre.h"
-
-#include "orbsvcs/CosNotificationC.h"
-#include "orbsvcs/TimeBaseC.h"
-
-#include "notify_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/**
- * @class TAO_Notify_QoSAdmin_i
- *
- * @brief TAO_Notify_QoSAdmin_i
- *
- */
-class TAO_Notify_Export TAO_Notify_QoSAdmin_i
-{
-public:
- /// Constructor
- TAO_Notify_QoSAdmin_i (void);
-
- /// Destructor
- virtual ~TAO_Notify_QoSAdmin_i (void);
-
- virtual CosNotification::QoSProperties * get_qos (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
- virtual void validate_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
- // Accessors
- CORBA::Long maximum_batch_size (void) const;
- TimeBase::TimeT pacing_interval (void) const;
-
-protected:
- // = QoS Properties
- CORBA::Short event_reliability_;
- CORBA::Boolean event_reliability_set_;
-
- /// Reliability properties (to be implemented "later").
- CORBA::Short connection_reliability_;
- CORBA::Boolean connection_reliability_set_;
-
- /// Priority for the event
- CORBA::Short priority_;
- CORBA::Boolean priority_set_;
-
- /// Earliest delivery time
- /*
- TimeBase::UtcT start_time_;
-
- TimeBase::UtcT stop_time_;
-
- */
-
- /// Expiry time
- TimeBase::TimeT timeout_;
- CORBA::Boolean timeout_set_;
-
- CORBA::Boolean start_time_supported_;
- CORBA::Boolean start_time_supported_set_;
-
- /// Are start/stop times supported
- CORBA::Boolean stop_time_supported_;
- CORBA::Boolean stop_time_supported_set_;
-
- /// Max events allowed to be queued on behalf of a consumer
- CORBA::Long max_events_per_consumer_;
- CORBA::Boolean max_events_per_consumer_set_;
-
- /// Order of events in internal buffers.
- CORBA::Short order_policy_;
- CORBA::Boolean order_policy_set_;
-
- /// Policy to discard when buffers are full.
- CORBA::Short discard_policy_;
- CORBA::Boolean discard_policy_set_;
-
- /// Batch size for sequences of structured events.
- CORBA::Long maximum_batch_size_;
- CORBA::Boolean maximum_batch_size_set_;
-
- /// Max. period of time that events are collected before delivering
- /// them as a sequence of structured events.
- TimeBase::TimeT pacing_interval_;
- CORBA::Boolean pacing_interval_set_;
-
- // TAO Specific QoS Properties
- ///
- TimeBase::TimeT blocking_timeout_;
- CORBA::Boolean blocking_timeout_set_;
-};
-
-#if defined (__ACE_INLINE__)
-#include "Notify_QoSAdmin_i.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_QOSADMIN_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl b/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl
deleted file mode 100644
index 734d2421279..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl
+++ /dev/null
@@ -1,16 +0,0 @@
-//$Id$
-
-ACE_INLINE CORBA::Long
-TAO_Notify_QoSAdmin_i::maximum_batch_size (void) const
-{
- return this->maximum_batch_size_;
-}
-
-
-ACE_INLINE TimeBase::TimeT
-TAO_Notify_QoSAdmin_i::pacing_interval (void) const
-{
- return this->pacing_interval_;
-}
-
-
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp
deleted file mode 100644
index d85cb9f24b3..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-#include "Notify_SequenceProxyPushConsumer_i.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_SupplierAdmin_i.h"
-#include "Notify_StructuredEvents.h"
-
-ACE_RCSID(Notify, Notify_SequenceProxyPushConsumer_i, "$Id$")
-
-typedef ACE_Reverse_Lock<ACE_Lock> TAO_Notify_Unlock;
-
-TAO_Notify_SequenceProxyPushConsumer_i::TAO_Notify_SequenceProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplier_admin)
- : proxy_inherited (supplier_admin)
-{
-}
-
-TAO_Notify_SequenceProxyPushConsumer_i::~TAO_Notify_SequenceProxyPushConsumer_i (void)
-{
-}
-
-void
-TAO_Notify_SequenceProxyPushConsumer_i::connect_sequence_push_supplier (CosNotifyComm::SequencePushSupplier_ptr push_supplier ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected
- ))
-{
- // @@ Pradeep: here is another example on code that is not thread
- // safe, i know you are post-poning the thread safety issues, but it
- // is not that easy!
-
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 1)
- ACE_THROW (CosEventChannelAdmin::AlreadyConnected ());
- else
- this->push_supplier_ =
- CosNotifyComm::SequencePushSupplier::_duplicate (push_supplier);
-
- this->is_connected_ = 1;
-
- ACE_TRY
- {
- TAO_Notify_Unlock reverse_lock (*this->lock_);
-
- {
- ACE_GUARD_THROW_EX (TAO_Notify_Unlock, ace_mon, reverse_lock,
- CORBA::INTERNAL ());
- ACE_TRY_CHECK;
-
- this->on_connected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- this->push_supplier_ = CosNotifyComm::SequencePushSupplier::_nil ();
- this->is_connected_ = 0;
-
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_SequenceProxyPushConsumer_i::dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL)
-{
- ACE_TRY
- {
- this->push_supplier_->subscription_change (added, removed
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_SequenceProxyPushConsumer_i::push_structured_events (const CosNotification::EventBatch & notifications ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ))
-{
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 0)
- ACE_THROW (CosEventComm::Disconnected ());
- }
-
- // Pack up the nofications in a TAO_Notify_StructuredEvents
- TAO_Notify_StructuredEvents* notify_events =
- new TAO_Notify_StructuredEvents (notifications);
-
- // Send 'em out
- this->event_manager_->process_event (notify_events, this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- notify_events->_decr_refcnt ();
-}
-
-void
-TAO_Notify_SequenceProxyPushConsumer_i::disconnect_sequence_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // ask our parent to deaactivate us.
- this->supplier_admin_->
- deactivate_proxy_pushconsumer (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->on_disconnected (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Notify_ProxyConsumer<POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer>;
-template class TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Notify_ProxyConsumer<POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer>
-#pragma instantiate TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.h
deleted file mode 100644
index dfc6c0da0af..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_SequenceProxyPushConsumer_i.h
- *
- * $Id$
- *
- * Implements the CosNotifyChannelAdmin::SequenceProxyPushConsumer
- * interface.
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_SEQUENCEPROXYPUSHCONSUMER_I_H
-#define TAO_NOTIFY_SEQUENCEPROXYPUSHCONSUMER_I_H
-#include "ace/pre.h"
-
-#include "Notify_ProxyConsumer_T.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-class TAO_Notify_SupplierAdmin_i;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_SequenceProxyPushConsumer_i
- *
- * @brief TAO_Notify_SequenceProxyPushConsumer_i
- *
- * Implements CosNotifyChannelAdmin::SequenceProxyPushConsumer
- */
-class TAO_Notify_Export TAO_Notify_SequenceProxyPushConsumer_i : public TAO_Notify_ProxyConsumer <POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer>
-{
-
-public:
- /// Constructor
- TAO_Notify_SequenceProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplier_admin);
-
- /// Destructor
- virtual ~TAO_Notify_SequenceProxyPushConsumer_i (void);
-
- // = interface methods
- virtual void connect_sequence_push_supplier (
- CosNotifyComm::SequencePushSupplier_ptr push_supplier
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected
- ));
-
- virtual void push_structured_events (
- const CosNotification::EventBatch & notifications
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ));
-
- virtual void disconnect_sequence_push_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-protected:
- // = Helper methods
- /// Sends updates to the supplier.
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL);
-
- // = Data members
- /// The supplier that we're connected to.
- CosNotifyComm::SequencePushSupplier_ptr push_supplier_;
-
-private:
- typedef TAO_Notify_ProxyConsumer <POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer> proxy_inherited;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_SEQUENCEPROXYPUSHCONSUMER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp
deleted file mode 100644
index 68af758ef3a..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp
+++ /dev/null
@@ -1,276 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-#include "Notify_SequenceProxyPushSupplier_i.h"
-#include "Notify_ConsumerAdmin_i.h"
-#include "Notify_StructuredEvents.h"
-#include "Notify_Factory.h"
-#include "Notify_Channel_Objects_Factory.h"
-
-#include "tao/ORB_Core.h"
-#include "tao/PortableServer/Object_Adapter.h"
-
-ACE_RCSID(Notify, Notify_SequenceProxyPushSupplier_i, "$Id$")
-
-typedef ACE_Reverse_Lock<ACE_Lock> TAO_Notify_Unlock;
-
-TAO_Notify_SequenceProxyPushSupplier_i::TAO_Notify_SequenceProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumer_admin)
- : proxy_inherited (consumer_admin),
- from_timeout_ (0),
- reset_timeout_flag_ (0),
- batch_lock_ (0)
-{
-}
-
-TAO_Notify_SequenceProxyPushSupplier_i::~TAO_Notify_SequenceProxyPushSupplier_i (void)
-{
- delete batch_lock_;
-}
-
-void
-TAO_Notify_SequenceProxyPushSupplier_i::connect_sequence_push_consumer (CosNotifyComm::SequencePushConsumer_ptr push_consumer ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError
- ))
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (CORBA::is_nil (push_consumer))
- ACE_THROW (CosEventChannelAdmin::TypeError ());
- else if (this->is_connected_ == 1)
- ACE_THROW (CosEventChannelAdmin::AlreadyConnected ());
- else
- {
- this->push_consumer_ =
- CosNotifyComm::SequencePushConsumer::_duplicate (push_consumer);
-
- this->is_connected_ = 1;
- }
-
- ACE_TRY
- {
- TAO_Notify_Unlock reverse_lock (*this->lock_);
-
- {
- ACE_GUARD_THROW_EX (TAO_Notify_Unlock, ace_mon, reverse_lock,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- this->on_connected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- this->push_consumer_ =
- CosNotifyComm::SequencePushConsumer::_nil ();
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_SequenceProxyPushSupplier_i::dispatch_event_i (TAO_Notify_Event& events
- ACE_ENV_ARG_DECL)
-{
- // If we are in this method then we are a SequenceProxyPushSupplier
- // connected up to a SequenceProxyPushConsumer and the only thing
- // that events can actually be is a TAO_Notify_StructuredEvents object.
-
- ACE_TRY
- {
- // We only have a batch_lock_ if
- // the PacingInterval policy was used.
- if (this->batch_lock_ != 0)
- {
- // I don't use ACE_GUARD here, because I don't want
- // to block if I can't get this lock. The timeout handler
- // in the same thread would cause a deadlock.
- ACE_Guard<ACE_Lock> ace_mon (*this->batch_lock_, 0);
- if (ace_mon.locked () == 0) return;
-
- // Only set this if we have successfully obtained the lock.
- // This way, if from_timeout_ is ever set to 1 it will
- // only be set back to 0 if do_push () is called when timeout_
- // is set to 1 (causing the cache to be flushed).
- this->reset_timeout_flag_ = 1;
- events.do_push (this->push_consumer_.in (),
- this->qos_admin (),
- this->event_cache_,
- this->from_timeout_
- ACE_ENV_ARG_PARAMETER);
- }
- else
- {
- events.do_push (this->push_consumer_.in (),
- this->qos_admin (),
- this->event_cache_,
- this->from_timeout_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- ACE_DEBUG ((LM_DEBUG, "Exception dispatching structured event\n"));
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_SequenceProxyPushSupplier_i::dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL)
-{
- ACE_TRY
- {
- this->push_consumer_->offer_change (added, removed ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_SequenceProxyPushSupplier_i::disconnect_sequence_push_supplier(ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- this->on_disconnected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // ask our parent to deactivate us.
- this->consumer_admin_->
- deactivate_proxy_pushsupplier (this ACE_ENV_ARG_PARAMETER);
-}
-
-
-void
-TAO_Notify_SequenceProxyPushSupplier_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Tell the consumer that we're going away ...
- // @@ Later, lookup a "notify_on_disconnect" option.
-
- {
- ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
-
- if (this->is_connected_ == 0)
- return;
- }
-
- this->disconnect_sequence_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_TRY
- {
- this->push_consumer_->disconnect_sequence_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // ignore
- }
- ACE_ENDTRY;
-}
-
-
-void
-TAO_Notify_SequenceProxyPushSupplier_i::setup_qos_policies (
- ACE_ENV_SINGLE_ARG_DECL)
-{
-# if defined (ACE_CONFIG_WIN32_H)
- ACE_Time_Value interval (
- ACE_static_cast (long, this->qos_admin ().pacing_interval ()));
-# else
- ACE_Time_Value interval (this->qos_admin ().pacing_interval () / 1);
-# endif /* ACE_CONFIG_WIN32_H */
-
- if (interval != ACE_Time_Value::zero)
- {
- // Only create the batch_lock_ if we are going to have a timer
- TAO_Notify_CO_Factory* cof =
- TAO_Notify_Factory::get_channel_objects_factory ();
-
- this->batch_lock_ = cof->create_proxy_supplier_lock (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Get back to the reactor to schedule the timer
- TAO_POA_Current_Impl *poa_current_impl =
- ACE_static_cast (TAO_POA_Current_Impl *,
- TAO_TSS_RESOURCES::instance ()->poa_current_impl_);
- if (poa_current_impl != 0)
- {
- ACE_Reactor* reactor = poa_current_impl->orb_core ().reactor ();
- reactor->schedule_timer (this, 0, interval, interval);
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- "(%P|%t) Unable to schedule "
- "timer for the pacing interval\n"));
- }
- }
-}
-
-
-int
-TAO_Notify_SequenceProxyPushSupplier_i::handle_timeout (
- const ACE_Time_Value& /*current_time*/,
- const void* /*act*/)
-{
-
- ACE_TRY_NEW_ENV
- {
- // We don't need to bother if there is nothing in the cache
- if (this->event_cache_.length () > 0)
- {
- // We need a TAO_Notify_StructuredEvents when we call
- // dispatch_event (). It doesn't matter that there's nothing
- // in it.
- CosNotification::EventBatch notifications;
- TAO_Notify_StructuredEvents dummy_events (notifications);
-
- // Set the flag saying that we are comming from the timeout.
- // The worst that could happen if this is set while
- // dispatch_event_i was called by the event processor is that
- // the event cache will be flushed a split second before it
- // normally would.
- this->from_timeout_ = 1;
- this->dispatch_event (dummy_events ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- ACE_DEBUG ((LM_DEBUG, "Exception dispatching handle_timeout\n"));
- // We must eat the exception in this case
- }
- ACE_ENDTRY;
-
- if (this->reset_timeout_flag_)
- {
- this->from_timeout_ = 0;
- this->reset_timeout_flag_ = 0;
- }
- return 0;
-}
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier>;
-template class TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier>
-#pragma instantiate TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h
deleted file mode 100644
index 794844c0826..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h
+++ /dev/null
@@ -1,110 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_SequenceProxyPushSupplier_i.h
- *
- * $Id$
- *
- * Implements the POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier
- * interface.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_SEQUENCEPROXYPUSHSUPPLIER_I_H
-#define TAO_NOTIFY_SEQUENCEPROXYPUSHSUPPLIER_I_H
-#include "ace/pre.h"
-
-#include "Notify_ProxySupplier_T.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-class TAO_Notify_ConsumerAdmin_i;
-
-#if defined (_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning (push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_SequenceProxyPushSupplier_i
- *
- * @brief Implements CosNotifyChannelAdmin::SequenceProxyPushSupplier.
- */
-class TAO_Notify_Export TAO_Notify_SequenceProxyPushSupplier_i : public TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier>,
- public ACE_Event_Handler
-{
-
-public:
- /// Constructor
- TAO_Notify_SequenceProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumer_admin);
-
- /// Destructor
- virtual ~TAO_Notify_SequenceProxyPushSupplier_i (void);
-
- virtual void connect_sequence_push_consumer (
- CosNotifyComm::SequencePushConsumer_ptr push_consumer
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError
- ));
-
- // @@ Pradeep: more indentation problems....
- virtual void disconnect_sequence_push_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-
- /// Shutdown.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
-protected:
- /// Deliver the event to the consumer.
- virtual void dispatch_event_i (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- /// Deliver the update to the consumer.
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL);
-
- /// Do what we need to do after the qos policies are set.
- void setup_qos_policies (ACE_ENV_SINGLE_ARG_DECL);
-
- /// When the pacing interval is used, handle_timeout () is called by
- /// the reactor.
- virtual int handle_timeout (const ACE_Time_Value& current_time,
- const void* act = 0);
-
- /// The consumer that we're connect to.
- CosNotifyComm::SequencePushConsumer_var push_consumer_;
-
-private:
- typedef TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier>
- proxy_inherited;
-
- /// Cache events until maximum batch size is reached.
- CosNotification::EventBatch event_cache_;
-
- /// Flag to specify that dispatch_event was called from the timeout
- CORBA::Boolean from_timeout_;
-
- /// Flag to specify that dispatch_event_i was successfully called from
- /// the timeout handler
- CORBA::Boolean reset_timeout_flag_;
-
- /// Lock to synchronize the modification of event_cache_
- ACE_Lock* batch_lock_;
-};
-
-#if defined (_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning (pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_SEQUENCEPROXYPUSHSUPPLIER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.cpp
deleted file mode 100644
index d3ba6f93475..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// $Id$
-
-#include "Notify_Source_Filter_Eval_Command.h"
-#include "Notify_Listeners.h"
-#include "Notify_Lookup_Command.h"
-#include "Notify_Worker_Task.h"
-#include "Notify_Event.h"
-#include "Notify_Event_Processor.h"
-
-ACE_RCSID(Notify, Notify_Source_Filter_Eval_Command, "$Id$")
-
-TAO_Notify_Source_Filter_Eval_Command::TAO_Notify_Source_Filter_Eval_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventSource* event_source)
- :TAO_Notify_Command (event_processor, event),
- event_source_ (event_source)
-{
- this->event_source_->_incr_refcnt ();
- this->event_->_incr_refcnt ();
-}
-
-TAO_Notify_Source_Filter_Eval_Command::~TAO_Notify_Source_Filter_Eval_Command ()
-{
- this->event_source_->_decr_refcnt ();
- this->event_->_decr_refcnt ();
-}
-
-int
-TAO_Notify_Source_Filter_Eval_Command::execute (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Boolean result =
- this->event_source_->evaluate_filter (*this->event_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (result == 1)
- {
- this->event_processor_->
- lookup_subscriptions (this->event_, this->event_source_ ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
- }
- else
- return -1;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.h
deleted file mode 100644
index e5bb7e9ef9c..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Source_Filter_Eval_Command.h
- *
- * $Id$
- *
- * Command object for evaluating source filter.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_SOURCE_FILTER_EVAL_COMMAND_H
-#define TAO_NOTIFY_SOURCE_FILTER_EVAL_COMMAND_H
-
-#include "ace/pre.h"
-#include "Notify_Command.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "notify_export.h"
-
-class TAO_Notify_Event;
-class TAO_Notify_EventSource;
-
-/**
- * @class TAO_Notify_Source_Filter_Eval_Command
- *
- * @brief TAO_Notify_Source_Filter_Eval_Command
- *
- * Command object for evaluating event source's filter.
- */
-class TAO_Notify_Export TAO_Notify_Source_Filter_Eval_Command : public TAO_Notify_Command
-{
-public:
- // = Initialization and termination code
- /// Constructor.
- TAO_Notify_Source_Filter_Eval_Command (TAO_Notify_Event_Processor* event_processor, TAO_Notify_Event* event, TAO_Notify_EventSource* event_source);
-
- /// Destructor.
- ~TAO_Notify_Source_Filter_Eval_Command ();
-
- /// Command callback
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
-
-protected:
- // = Data Members
- TAO_Notify_EventSource* event_source_;
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_SOURCE_FILTER_EVAL_COMMAND_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp
deleted file mode 100644
index f7a3864d8e3..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-// $Id$
-#include "Notify_StructuredEvents.h"
-#include "Notify_QoSAdmin_i.h"
-#include "tao/debug.h"
-
-ACE_RCSID (Notify, Notify_Event, "$Id$")
-
-
-TAO_Notify_StructuredEvents::TAO_Notify_StructuredEvents (
- const CosNotification::EventBatch& notifications)
- : data_ (notifications),
- match_called_ (0)
-{
- if (this->data_.length () > 0)
- {
- this->event_type_ = this->data_[0].header.fixed_header.event_type;
- }
- this->init_QoS ();
-}
-
-TAO_Notify_StructuredEvents::~TAO_Notify_StructuredEvents ()
-{
-}
-
-void
-TAO_Notify_StructuredEvents::init_QoS (void)
-{
- if (this->data_.length () > 0)
- {
- CosNotification::PropertySeq& qos = this->data_[0].header.variable_header;
-
- for (CORBA::ULong index = 0; index < qos.length (); ++index)
- {
- ACE_CString property_name (qos[index].name);
-
- if (property_name.compare (CosNotification::Priority) == 0)
- {
- qos[index].value >>= this->priority_;
- }
- else if (property_name.compare (CosNotification::StartTime) == 0)
- {
- // qos[index].value >>= this->start_time_;
- }
- else if (property_name.compare (CosNotification::StopTime) == 0)
- {
- // qos[index].value >>= this->stop_time_;
- }
- else if (property_name.compare (CosNotification::Timeout) == 0)
- {
- qos[index].value >>= this->timeout_;
- }
- }
- }
-}
-
-TAO_Notify_Event*
-TAO_Notify_StructuredEvents::clone (void)
-{
- TAO_Notify_StructuredEvents* clone;
-
- ACE_NEW_RETURN (clone, TAO_Notify_StructuredEvents (this->data_), 0);
-
- return clone;
-}
-
-void
-TAO_Notify_StructuredEvents::operator=(const TAO_Notify_StructuredEvents& structured_events)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "In TAO_Notify_StructuredEvents::operator=\n"));
-
- if (this != &structured_events)
- {
- this->data_ = structured_events.data_;
- this->matching_ = structured_events.matching_;
- this->event_type_ = structured_events.event_type_;
- }
-}
-
-CORBA::Boolean
-TAO_Notify_StructuredEvents::is_special_event_type (void) const
-{
- return this->event_type_.is_special ();
-}
-
-const TAO_Notify_EventType&
-TAO_Notify_StructuredEvents::event_type (void) const
-{
- return this->event_type_;
-}
-
-CORBA::Boolean
-TAO_Notify_StructuredEvents::do_match (CosNotifyFilter::Filter_ptr filter
- ACE_ENV_ARG_DECL)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_StructuredEvents::do_match ()\n"));
-
- CORBA::Boolean status = 0;
- CORBA::ULong index = this->matching_.length ();
- CORBA::ULong length = this->data_.length ();
-
- for (CORBA::ULong i = 0; i < length; i++)
- {
- CORBA::Boolean matched = filter->match_structured (this->data_[i]
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (matched)
- {
- // Return TRUE if any event in the sequence matches
- status = 1;
-
- // Keep track of the position within the data sequence
- this->matching_.length (index + 1);
- this->matching_[index++] = i;
- }
- }
- this->match_called_ = 1;
-
- return status;
-}
-
-void
-TAO_Notify_StructuredEvents::do_push (CosEventComm::PushConsumer_ptr consumer
- ACE_ENV_ARG_DECL) const
-{
- CORBA::ULong sending_length = (this->match_called_ ?
- this->matching_.length () :
- this->data_.length ());
- for (CORBA::ULong i = 0; i < sending_length; i++)
- {
- CORBA::Any any;
- any <<= this->data_[(this->match_called_ ?
- this->matching_[i] : i)];
- consumer->push (any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-void
-TAO_Notify_StructuredEvents::do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer
- ACE_ENV_ARG_DECL) const
-{
- CORBA::ULong sending_length = (this->match_called_ ?
- this->matching_.length () :
- this->data_.length ());
- for (CORBA::ULong i = 0; i < sending_length; i++)
- {
- consumer->push_structured_event (this->data_[(this->match_called_ ?
- this->matching_[i] : i)]
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-void
-TAO_Notify_StructuredEvents::do_push (
- CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& qos_admin,
- CosNotification::EventBatch& unsent,
- int flush_queue
- ACE_ENV_ARG_DECL) const
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
- "TAO_Notify_StructuredEvents::do_push with "
- "flush_queue = %d\n", flush_queue));
-
- CORBA::ULong unsent_length = unsent.length ();
- CORBA::ULong maximum_batch_size = qos_admin.maximum_batch_size ();
- CORBA::ULong sending_length = (this->match_called_ ?
- this->matching_.length () :
- this->data_.length ());
- CosNotification::EventBatch matched (maximum_batch_size);
-
- // Deal with the unsent events first
- CORBA::ULong queue_size = (flush_queue &&
- unsent_length < maximum_batch_size ?
- unsent_length : maximum_batch_size);
-
- while (unsent_length > 0 && unsent_length >= queue_size)
- {
- // We can only send queue_size at a time!
- matched.length (queue_size);
-
- // Pack 'em up and send 'em out.
- for (CORBA::ULong i = 0; i < queue_size; i++)
- {
- matched[i] = unsent[i];
- }
- consumer->push_structured_events (matched ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Shift the rest of the unsent messages to the front.
- // We are reusing 'matched' for this purpose.
- matched.length (unsent_length - queue_size);
- for (CORBA::ULong j = queue_size; j < unsent_length; j++)
- {
- matched[j - queue_size] = unsent[j];
- }
- unsent = matched;
- unsent_length -= queue_size;
-
- // If we are flushing the queue and we don't have enough to
- // fill upto queue_size, then we need to reset queue_size to
- // the size of the rest of the unsent messages.
- if (flush_queue && unsent_length < queue_size)
- {
- queue_size = unsent_length;
- }
- }
-
- if (sending_length > 0)
- {
- CORBA::ULong start = 0;
- if (unsent_length + sending_length >= maximum_batch_size)
- {
- matched = unsent;
- matched.length (maximum_batch_size);
-
- // Add to the matched sequence until we are full
- CORBA::ULong index = 0;
- for (CORBA::ULong i = unsent_length; i < maximum_batch_size; i++)
- {
- index = i - unsent_length;
- matched[i] = this->data_[(this->match_called_ ?
- this->matching_[index] : index)];
- start++;
- }
- consumer->push_structured_events (matched ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- unsent.length (0);
- unsent_length = 0;
-
- // Send some more events out
- while (start < sending_length &&
- sending_length - start >= maximum_batch_size)
- {
- for (CORBA::ULong i = 0; i < maximum_batch_size; i++)
- {
- matched[i] = this->data_[(this->match_called_ ?
- this->matching_[start] : start)];
- start++;
- }
- consumer->push_structured_events (matched ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- }
-
- // append the rest to the unsent sequence
- unsent.length (unsent_length + (sending_length - start));
- for (CORBA::ULong j = start; j < sending_length; j++)
- {
- unsent[unsent_length + (j - start)] =
- this->data_[(this->match_called_ ?
- this->matching_[j] : j)];
- }
- }
-}
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Unbounded_Sequence<CORBA::ULong>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Unbounded_Sequence<CORBA::ULong>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h
deleted file mode 100644
index ebfe6d95680..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_StructuredEvents.h
- *
- * $Id$
- *
- * For use with the Sequence (Push/Pull)(Consumer/Supplier)
- *
- *
- * @author Chad Elliott <elliott_c@ociweb.com>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_STRUCTURED_EVENTS_H
-#define TAO_NOTIFY_STRUCTURED_EVENT_H
-
-#include "ace/pre.h"
-#include "orbsvcs/Notify/Notify_Event.h"
-#include "notify_export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/**
- * @class TAO_Notify_StructuredEvents
- *
- * @brief TAO_Notify_StructuredEvents
- *
- * This class is the concrete prototype for the Structured Event Types.
- */
-class TAO_Notify_Export TAO_Notify_StructuredEvents : public TAO_Notify_Event
-{
-public:
- TAO_Notify_StructuredEvents (const CosNotification::EventBatch& notifications);
- virtual ~TAO_Notify_StructuredEvents ();
-
- virtual TAO_Notify_Event* clone (void);
- void operator=(const TAO_Notify_StructuredEvents& structured_events);
-
- virtual CORBA::Boolean is_special_event_type (void) const;
- virtual const TAO_Notify_EventType& event_type (void) const;
- virtual CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter ACE_ENV_ARG_DECL);
- virtual void do_push (CosEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL) const;
- virtual void do_push (CosNotifyComm::StructuredPushConsumer_ptr consumer ACE_ENV_ARG_DECL) const;
- virtual void do_push (CosNotifyComm::SequencePushConsumer_ptr consumer,
- const TAO_Notify_QoSAdmin_i& qos_admin,
- CosNotification::EventBatch& unsent,
- int flush_queue
- ACE_ENV_ARG_DECL) const;
-
-protected:
-
- /// Load the QoS properties these events from <data_>.
- void init_QoS (void);
-
- // = Data Members
- /// The data
- CosNotification::EventBatch data_;
-
- /// The events that matched the filter
- TAO_Unbounded_Sequence<CORBA::ULong> matching_;
-
- /// Was do_match () called?
- int match_called_;
-
- /// The event types of <data_>
- TAO_Notify_EventType event_type_;
-};
-
-#include "ace/post.h"
-
-#endif /* TAO_NOTIFY_EVENT_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.cpp
deleted file mode 100644
index 277be4d1b89..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-/* -*- C++ -*- */
-// $Id$ */
-
-#include "Notify_StructuredProxyPushConsumer_i.h"
-#include "Notify_Event_Manager.h"
-#include "Notify_SupplierAdmin_i.h"
-
-ACE_RCSID(Notify, Notify_StructuredProxyPushConsumer_i, "$Id$")
-
-typedef ACE_Reverse_Lock<ACE_Lock> TAO_Notify_Unlock;
-
-TAO_Notify_StructuredProxyPushConsumer_i::TAO_Notify_StructuredProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplier_admin)
- :proxy_inherited (supplier_admin)
-{
-}
-
-TAO_Notify_StructuredProxyPushConsumer_i::~TAO_Notify_StructuredProxyPushConsumer_i (void)
-{
-}
-
-void
-TAO_Notify_StructuredProxyPushConsumer_i::connect_structured_push_supplier (CosNotifyComm::StructuredPushSupplier_ptr push_supplier ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected
- ))
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 1)
- ACE_THROW (CosEventChannelAdmin::AlreadyConnected ());
- else
- this->push_supplier_ =
- CosNotifyComm::StructuredPushSupplier::_duplicate (push_supplier);
-
- this->is_connected_ = 1;
-
- ACE_TRY
- {
- TAO_Notify_Unlock reverse_lock (*this->lock_);
-
- {
- ACE_GUARD_THROW_EX (TAO_Notify_Unlock, ace_mon, reverse_lock,
- CORBA::INTERNAL ());
- ACE_TRY_CHECK;
-
- this->on_connected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- this->push_supplier_ =
- CosNotifyComm::StructuredPushSupplier::_nil ();
-
- this->is_connected_ = 0;
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_StructuredProxyPushConsumer_i::dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL)
-{
- ACE_TRY
- {
- this->push_supplier_->subscription_change (added, removed
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_StructuredProxyPushConsumer_i::push_structured_event (const CosNotification::StructuredEvent & notification ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ))
-{
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (this->is_connected_ == 0)
- ACE_THROW (CosEventComm::Disconnected ());
- }
-
- CosNotification::StructuredEvent *notification_copy;
- ACE_NEW_THROW_EX (notification_copy,
- CosNotification::StructuredEvent (notification),
- CORBA::NO_MEMORY ());
-
- TAO_Notify_StructuredEvent* notify_event =
- new TAO_Notify_StructuredEvent (notification_copy);
-
- this->event_manager_->process_event (notify_event, this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- notify_event->_decr_refcnt ();
-}
-
-void
-TAO_Notify_StructuredProxyPushConsumer_i::disconnect_structured_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // ask our parent to deactivate us.
- this->supplier_admin_->
- deactivate_proxy_pushconsumer (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->on_disconnected (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Notify_ProxyConsumer<POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>;
-template class TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Notify_ProxyConsumer<POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>
-#pragma instantiate TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.h
deleted file mode 100644
index 7a2bc2c216c..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_StructuredProxyPushConsumer_i.h
- *
- * $Id$
- *
- * Implements the CosNotifyChannelAdmin::StructuredProxyPushConsumer
- * interface.
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_STRUCTUREDPROXYPUSHCONSUMER_I_H
-#define TAO_NOTIFY_STRUCTUREDPROXYPUSHCONSUMER_I_H
-
-#include "ace/pre.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_ProxyConsumer_T.h"
-#include "notify_export.h"
-
-class TAO_Notify_SupplierAdmin_i;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_StructuredProxyPushConsumer_i
- *
- * @brief TAO_Notify_StructuredProxyPushConsumer_i
- *
- * Implements CosNotifyChannelAdmin::StructuredProxyPushConsumer
- */
-class TAO_Notify_Export TAO_Notify_StructuredProxyPushConsumer_i : public TAO_Notify_ProxyConsumer <POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>
-{
-
-public:
- /// Constructor
- TAO_Notify_StructuredProxyPushConsumer_i (TAO_Notify_SupplierAdmin_i* supplier_admin);
-
- /// Destructor
- virtual ~TAO_Notify_StructuredProxyPushConsumer_i (void);
-
- // = interface methods
- virtual void connect_structured_push_supplier (
- CosNotifyComm::StructuredPushSupplier_ptr push_supplier
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected
- ));
-
-virtual void push_structured_event (
- const CosNotification::StructuredEvent & notification
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventComm::Disconnected
- ));
-
- virtual void disconnect_structured_push_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-protected:
- // = Helper methods
- /// Dispatch updates to the supplier.
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL);
-
- // = Data members
- /// The supplier that we're connected to.
- CosNotifyComm::StructuredPushSupplier_var push_supplier_;
-
-private:
- typedef TAO_Notify_ProxyConsumer <POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>
- proxy_inherited;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_STRUCTUREDPROXYPUSHCONSUMER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp
deleted file mode 100644
index 00770c13a3a..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/* -*- C++ -*- */
-// $Id$ */
-
-#include "Notify_StructuredProxyPushSupplier_i.h"
-#include "Notify_ConsumerAdmin_i.h"
-
-ACE_RCSID(Notify, Notify_StructuredProxyPushSupplier_i, "$Id$")
-
-typedef ACE_Reverse_Lock<ACE_Lock> TAO_Notify_Unlock;
-
-TAO_Notify_StructuredProxyPushSupplier_i::TAO_Notify_StructuredProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumeradmin)
- :proxy_inherited (consumeradmin)
-{
-}
-
-TAO_Notify_StructuredProxyPushSupplier_i::~TAO_Notify_StructuredProxyPushSupplier_i (void)
-{
-}
-
-void
-TAO_Notify_StructuredProxyPushSupplier_i::connect_structured_push_consumer (CosNotifyComm::StructuredPushConsumer_ptr push_consumer ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError
- ))
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- if (CORBA::is_nil (push_consumer))
- ACE_THROW (CosEventChannelAdmin::TypeError ());
- else
- {
- if (this->is_connected_ == 1)
- ACE_THROW (CosEventChannelAdmin::AlreadyConnected ());
- else
- {
- this->push_consumer_ =
- CosNotifyComm::StructuredPushConsumer::_duplicate (push_consumer);
- }
-
- this->is_connected_ = 1;
- }
-
- ACE_TRY
- {
- TAO_Notify_Unlock reverse_lock (*this->lock_);
-
- {
- ACE_GUARD_THROW_EX (TAO_Notify_Unlock, ace_mon, reverse_lock,
- CORBA::INTERNAL ());
- ACE_CHECK;
-
- this->on_connected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHALL
- {
- this->push_consumer_ =
- CosNotifyComm::StructuredPushConsumer::_nil ();
-
- this->is_connected_ = 0;
-
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_StructuredProxyPushSupplier_i::dispatch_event_i (TAO_Notify_Event &event ACE_ENV_ARG_DECL)
-{
- ACE_TRY
- {
- event.do_push (this->push_consumer_.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- ACE_DEBUG ((LM_DEBUG, "Exception dispatching structured event\n"));
- // misbehaving client,
- this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); // FUZZ: ignore check_for_ace_check
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_StructuredProxyPushSupplier_i::dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL)
-{
- ACE_TRY
- {
- this->push_consumer_->offer_change (added, removed ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "call to offer_change failed\n");
- // misbehaving client, ignore for now.
- }
- ACE_ENDTRY;
-}
-
-void
-TAO_Notify_StructuredProxyPushSupplier_i::shutdown_i (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->on_disconnected (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // ask our parent to deactivate us.
- this->consumer_admin_->
- deactivate_proxy_pushsupplier (this ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_StructuredProxyPushSupplier_i::disconnect_structured_push_supplier(ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // unregister with CA
- this->consumer_admin_->unregister_listener (this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_StructuredProxyPushSupplier_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
-{
- // Tell the consumer that we're going away ...
- // @@ Later, lookup a "notify_on_disconnect" option.
-
- {
- ACE_GUARD (ACE_Lock, ace_mon, *this->lock_);
-
- if (this->is_connected_ == 0)
- return;
- }
-
- this->shutdown_i (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_TRY
- {
- this->push_consumer_->disconnect_structured_push_consumer (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHALL
- {
- // ignore
- }
- ACE_ENDTRY;
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier>;
-template class TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier>
-
-#pragma instantiate TAO_Notify_Proxy<POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier>
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h
deleted file mode 100644
index 74edbd29cdd..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h
+++ /dev/null
@@ -1,98 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_StructuredProxyPushSupplier_i.h
- *
- * $Id$
- *
- * Implements the POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier
- * interface.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H
-#define TAO_NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H
-
-#include "ace/pre.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_ProxySupplier_T.h"
-
-class TAO_Notify_ConsumerAdmin_i;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_StructuredProxyPushSupplier_i
- *
- * @brief TAO_Notify_StructuredProxyPushSupplier_i
- *
- * Implements POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier
- */
-class TAO_Notify_Export TAO_Notify_StructuredProxyPushSupplier_i : public TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier>
-{
-
- public:
- /// Constructor
- TAO_Notify_StructuredProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i* consumer_admin);
-
- /// Destructor
- virtual ~TAO_Notify_StructuredProxyPushSupplier_i (void);
-
- virtual void connect_structured_push_consumer (
- CosNotifyComm::StructuredPushConsumer_ptr push_consumer
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosEventChannelAdmin::AlreadyConnected,
- CosEventChannelAdmin::TypeError
- ));
-
- virtual void disconnect_structured_push_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- /// Shutdown.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- protected:
- // = Helper methods
- /// Shutdown
- void shutdown_i (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Deliver the event to the consumer.
- virtual void dispatch_event_i (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- /// Deliver the update to the consumer.
- virtual void dispatch_update_i (CosNotification::EventTypeSeq added, CosNotification::EventTypeSeq removed ACE_ENV_ARG_DECL);
-
- // = Data Members
- /// The consumer that we're connect to.
- CosNotifyComm::StructuredPushConsumer_var push_consumer_;
-
- private:
- typedef TAO_Notify_ProxySupplier<POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier>
- proxy_inherited;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp
deleted file mode 100644
index 4e30fc27bc0..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp
+++ /dev/null
@@ -1,452 +0,0 @@
-// $Id$
-
-#include "Notify_SupplierAdmin_i.h"
-#include "Notify_ProxyPushConsumer_i.h"
-#include "Notify_StructuredProxyPushConsumer_i.h"
-#include "Notify_SequenceProxyPushConsumer_i.h"
-#include "Notify_EventChannel_i.h"
-#include "Notify_Channel_Objects_Factory.h"
-#include "Notify_POA_Factory.h"
-#include "Notify_Factory.h"
-#include "Notify_Event_Manager.h"
-
-#include "tao/debug.h"
-
-#include "ace/Auto_Ptr.h"
-
-ACE_RCSID(Notify, Notify_SupplierAdmin_i, "$Id$")
-
-// Implementation skeleton constructor
-TAO_Notify_SupplierAdmin_i::TAO_Notify_SupplierAdmin_i (TAO_Notify_EventChannel_i* event_channel)
- :event_channel_ (event_channel),
- channel_objects_factory_ (0),
- poa_factory_ (0),
- lock_ (0),
- destory_child_POAs_ (0)
-{
- event_channel_->_add_ref (); // we don't want our parent to go away!
-}
-
-// Implementation skeleton destructor
-TAO_Notify_SupplierAdmin_i::~TAO_Notify_SupplierAdmin_i ()
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,"in SA dtor\n"));
- // Cleanup all resources..
-
- delete this->lock_;
-
- this->event_channel_->supplier_admin_destroyed (this->my_id_);
- event_channel_->_remove_ref ();
-}
-
-void
-TAO_Notify_SupplierAdmin_i::proxy_pushconsumer_destroyed (CosNotifyChannelAdmin::ProxyID proxyID)
-{
- this->proxy_pushconsumer_ids_.put (proxyID); // This id is no longer in use.
-}
-
-void
-TAO_Notify_SupplierAdmin_i::init (CosNotifyChannelAdmin::AdminID my_id,
- CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator,
- PortableServer::POA_ptr my_POA
- ACE_ENV_ARG_DECL)
-{
- this->my_POA_ = PortableServer::POA::_duplicate (my_POA);
-
- this->channel_objects_factory_ =
- TAO_Notify_Factory::get_channel_objects_factory ();
-
- this->poa_factory_ = TAO_Notify_Factory::get_poa_factory ();
-
- this->lock_ = this->channel_objects_factory_->
- create_supplier_admin_lock (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->proxy_pushconsumer_POA_ = this->poa_factory_->
- create_proxy_pushconsumer_POA (this->my_POA_.in (), my_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- my_id_ = my_id;
- filter_operator_ = filter_operator;
-}
-
-CosNotifyChannelAdmin::SupplierAdmin_ptr
-TAO_Notify_SupplierAdmin_i::get_ref (ACE_ENV_SINGLE_ARG_DECL)
-{
- // @@ Pradeep: if you get a chance to quantify this stuff you will
- // notice that this is a very expensive operation, you may want to
- // cache the result if it is invoked very often...
-
- CORBA::Object_var obj = this->poa_factory_->
- servant_to_reference (this->my_POA_.in (), this ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::SupplierAdmin::_nil ());
-
- return CosNotifyChannelAdmin::SupplierAdmin::_narrow (obj.in ());
-}
-
-// @@ Pradeep: it is possible that you want methods like this
-// inlined...
-
-TAO_Notify_Event_Manager*
-TAO_Notify_SupplierAdmin_i::get_event_manager (void)
-{
- return this->event_channel_->get_event_manager ();
-}
-
-TAO_Notify_FilterAdmin_i&
-TAO_Notify_SupplierAdmin_i::get_filter_admin (void)
-{
- return this->filter_admin_;
-}
-
-void
-TAO_Notify_SupplierAdmin_i::deactivate_proxy_pushconsumer (PortableServer::Servant servant ACE_ENV_ARG_DECL)
-{
- this->poa_factory_->
- deactivate_object (servant, this->proxy_pushconsumer_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::AdminID
-TAO_Notify_SupplierAdmin_i::MyID (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return my_id_;
-}
-
-CosNotifyChannelAdmin::EventChannel_ptr
-TAO_Notify_SupplierAdmin_i::MyChannel (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return event_channel_->get_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::InterFilterGroupOperator
-TAO_Notify_SupplierAdmin_i::MyOperator (ACE_ENV_SINGLE_ARG_DECL_NOT_USED/*ACE_ENV_SINGLE_ARG_PARAMETER*/)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return filter_operator_;
-}
-
-CosNotifyChannelAdmin::ProxyIDSeq*
-TAO_Notify_SupplierAdmin_i::push_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- return this->proxy_pushconsumer_ids_.get_sequence (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::ProxyConsumer_ptr
-TAO_Notify_SupplierAdmin_i::get_proxy_consumer (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ProxyNotFound
- ))
-{
- CORBA::Object_var obj =
- this->poa_factory_->id_to_reference (proxy_id,
- proxy_pushconsumer_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxyConsumer::_nil ());
-
- return CosNotifyChannelAdmin::ProxyConsumer::_narrow (obj.in ());
-}
-
-CORBA::Object_ptr
-TAO_Notify_SupplierAdmin_i::obtain_sequence_proxy_pushconsumer_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- TAO_Notify_SequenceProxyPushConsumer_i* seq_proxy_pushconsumer =
- this->channel_objects_factory_->create_seq_proxy_pushconsumer (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- PortableServer::ServantBase_var proxy_pushconsumer_var (seq_proxy_pushconsumer);
-
- seq_proxy_pushconsumer->init (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return this->poa_factory_->
- activate_object_with_id (proxy_id,
- this->proxy_pushconsumer_POA_.in (),
- seq_proxy_pushconsumer
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_Notify_SupplierAdmin_i::obtain_struct_proxy_pushconsumer_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- TAO_Notify_StructuredProxyPushConsumer_i* struct_proxy_pushconsumer =
- this->channel_objects_factory_->create_struct_proxy_pushconsumer (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- PortableServer::ServantBase_var proxy_pushconsumer_var (struct_proxy_pushconsumer);
-
- struct_proxy_pushconsumer->init (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return this->poa_factory_->
- activate_object_with_id (proxy_id,
- this->proxy_pushconsumer_POA_.in (),
- struct_proxy_pushconsumer
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-TAO_Notify_SupplierAdmin_i::obtain_proxy_pushconsumer_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL)
-{
- TAO_Notify_ProxyPushConsumer_i* proxy_pushconsumer =
- this->channel_objects_factory_->create_proxy_pushconsumer (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- PortableServer::ServantBase_var proxy_pushconsumer_var (proxy_pushconsumer);
-
- proxy_pushconsumer->init (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- return this->poa_factory_->
- activate_object_with_id (proxy_id,
- this->proxy_pushconsumer_POA_.in (),
- proxy_pushconsumer
- ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyChannelAdmin::ProxyConsumer_ptr
-TAO_Notify_SupplierAdmin_i::obtain_notification_push_consumer (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ))
-{
- CORBA::Object_var obj;
-
- {
- ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_,
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxyConsumer::_nil ());
-
- proxy_id = this->proxy_pushconsumer_ids_.get ();
- }
-
- switch (ctype)
- {
- case CosNotifyChannelAdmin::ANY_EVENT:
- {
- obj = this->obtain_proxy_pushconsumer_i (proxy_id ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxyConsumer::_nil ());
- }
- break;
-
- case CosNotifyChannelAdmin::STRUCTURED_EVENT:
- {
- obj = this->obtain_struct_proxy_pushconsumer_i (proxy_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxyConsumer::_nil ());
- }
- break;
-
- case CosNotifyChannelAdmin::SEQUENCE_EVENT:
- {
- obj = this->obtain_sequence_proxy_pushconsumer_i (proxy_id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosNotifyChannelAdmin::ProxyConsumer::_nil ());
- }
- break;
-
- default:
- ACE_THROW_RETURN (CORBA::BAD_PARAM (),
- CosNotifyChannelAdmin::ProxyConsumer::_nil ());
- }
-
- this->proxy_pushconsumer_ids_.next (); // commit the current id.
- return CosNotifyChannelAdmin::ProxyConsumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_SupplierAdmin_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->destory_child_POAs_ = 1;
- if (this->destory_child_POAs_ == 1)
- this->poa_factory_->destroy_POA (this->proxy_pushconsumer_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // deactivate ourselves
- this->poa_factory_->deactivate_object (this, this->my_POA_.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotification::QoSProperties*
-TAO_Notify_SupplierAdmin_i::get_qos (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->qos_admin_.get_qos (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_SupplierAdmin_i::set_qos (const CosNotification::QoSProperties & qos ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- this->qos_admin_.set_qos (qos ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_SupplierAdmin_i::validate_qos (const CosNotification::QoSProperties & required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ))
-{
- this->qos_admin_.validate_qos (required_qos, available_qos ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_SupplierAdmin_i::offer_change (const CosNotification::EventTypeSeq & added, const CosNotification::EventTypeSeq & removed ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ))
-{
- this->get_event_manager ()->update_publication_list (added,
- removed ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyFilter::FilterID
-TAO_Notify_SupplierAdmin_i::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_admin_.add_filter (new_filter ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_SupplierAdmin_i::remove_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- this->filter_admin_.remove_filter (filter ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyFilter::Filter_ptr
-TAO_Notify_SupplierAdmin_i::get_filter (CosNotifyFilter::FilterID filter ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ))
-{
- return this->filter_admin_.get_filter (filter ACE_ENV_ARG_PARAMETER);
-}
-
-CosNotifyFilter::FilterIDSeq*
-TAO_Notify_SupplierAdmin_i::get_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- return this->filter_admin_.get_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-TAO_Notify_SupplierAdmin_i::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- this->filter_admin_.remove_all_filters (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CosEventChannelAdmin::ProxyPushConsumer_ptr
-TAO_Notify_SupplierAdmin_i::obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- TAO_Notify_CosEC_ProxyPushConsumer_i* cosec_proxy;
-
- ACE_NEW_THROW_EX (cosec_proxy,
- TAO_Notify_CosEC_ProxyPushConsumer_i (this),
- CORBA::NO_MEMORY ());
-
- PortableServer::ServantBase_var proxy_var (cosec_proxy);
-
- cosec_proxy->init (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosEventChannelAdmin::ProxyPushConsumer::_nil ());
-
- PortableServer::POA_var def_poa =
- this->event_channel_->get_default_POA ();
-
- CORBA::Object_var obj = this->poa_factory_->
- activate_object (def_poa.in (), cosec_proxy ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CosEventChannelAdmin::ProxyPushConsumer::_nil ());
-
- return CosEventChannelAdmin::ProxyPushConsumer::_narrow (obj.in ());
-}
-
-// = Pull Methods.
-CosNotifyChannelAdmin::ProxyIDSeq*
-TAO_Notify_SupplierAdmin_i::pull_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // @@ Pradeep: there is no rush to implement pull, but look at the
- // code in the new CosEC, we may need to start thinking about pull,
- // and how can we reduce duplicated code for both pull and push
- // models.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-CosNotifyChannelAdmin::ProxyConsumer_ptr
-TAO_Notify_SupplierAdmin_i::obtain_notification_pull_consumer (CosNotifyChannelAdmin::ClientType /*ctype*/, CosNotifyChannelAdmin::ProxyID_out /*proxy_id*/ ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosNotifyChannelAdmin::ProxyConsumer::_nil ());
-}
-
-CosEventChannelAdmin::ProxyPullConsumer_ptr
-TAO_Notify_SupplierAdmin_i::obtain_pull_consumer (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- // @@ Pradeep: you may want to group all the Pull methods together,
- // it would be easier to identify them or read the code that way.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (),
- CosEventChannelAdmin::ProxyPullConsumer::_nil ());
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ProxyID, CosNotifyChannelAdmin::ProxyIDSeq>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ProxyID, CosNotifyChannelAdmin::ProxyIDSeq>
-
-#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.h
deleted file mode 100644
index 12f53a97eaa..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.h
+++ /dev/null
@@ -1,307 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_SupplierAdmin_i.h
- *
- * $Id$
- *
- * Implements the CosNotifyChannelAdmin::SupplierAdmin interface.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_SUPPLIERADMIN_I_H
-#define TAO_NOTIFY_SUPPLIERADMIN_I_H
-#include "ace/pre.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_ID_Pool_T.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_FilterAdmin_i.h"
-
-class TAO_Notify_EventChannel_i;
-class TAO_Notify_CO_Factory;
-class TAO_Notify_POA_Factory;
-class TAO_Notify_Event_Manager;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_SupplierAdmin_i
- *
- * @brief TAO_Notify_SupplierAdmin_i
- *
- * Implements the CosNotifyChannelAdmin::SupplierAdmin interface.
- */
-class TAO_Notify_Export TAO_Notify_SupplierAdmin_i : public POA_CosNotifyChannelAdmin::SupplierAdmin, public PortableServer::RefCountServantBase
-{
-
-public:
- // @@ Pradeep: you may want to drop the _i suffix, it buys you
- // nothing..
-
- /// Constructor
- /// <event_channel> is this objects parent.
- TAO_Notify_SupplierAdmin_i (TAO_Notify_EventChannel_i* event_channel);
-
- /// Destructor
- virtual ~TAO_Notify_SupplierAdmin_i ();
-
- ///Initialize the Supplier Admin.
- void init (CosNotifyChannelAdmin::AdminID myID,
- CosNotifyChannelAdmin::InterFilterGroupOperator myOperator,
- PortableServer::POA_ptr my_POA
- ACE_ENV_ARG_DECL);
-
- // @@ Pradeep: could this method be const? Try to use const
- // operations when possible.
- /// Get our filter admin.
- TAO_Notify_FilterAdmin_i& get_filter_admin (void);
-
- /// Deactivate servant from <proxy_pushconsumer_POA_>.
- void deactivate_proxy_pushconsumer (PortableServer::Servant servant
- ACE_ENV_ARG_DECL);
-
- /// This id is no longer in use.It can be reused by <proxy_pushconsumer_ids_>
- void proxy_pushconsumer_destroyed (CosNotifyChannelAdmin::ProxyID proxyID);
-
- // = Interface methods
- virtual CosNotifyChannelAdmin::AdminID MyID (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- /// Return the CORBA object for this servant.
- CosNotifyChannelAdmin::SupplierAdmin_ptr get_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Accesor for the event manager.
- TAO_Notify_Event_Manager* get_event_manager (void);
-
- // @@ Pradeep: Don't forget to indent this stuff, at the very least
- // it should not start in the first column!
- virtual CosNotifyChannelAdmin::EventChannel_ptr MyChannel (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::InterFilterGroupOperator MyOperator (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyIDSeq * pull_consumers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyIDSeq * push_consumers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyConsumer_ptr get_proxy_consumer (
- CosNotifyChannelAdmin::ProxyID proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ProxyNotFound
- ));
-
-virtual CosNotifyChannelAdmin::ProxyConsumer_ptr obtain_notification_pull_consumer (
- CosNotifyChannelAdmin::ClientType ctype,
- CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ));
-
-virtual CosNotifyChannelAdmin::ProxyConsumer_ptr obtain_notification_push_consumer (
- CosNotifyChannelAdmin::ClientType ctype,
- CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ));
-
-virtual void destroy (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotification::QoSProperties * get_qos (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-virtual void validate_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-virtual void offer_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
-virtual CosNotifyFilter::FilterID add_filter (
- CosNotifyFilter::Filter_ptr new_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
-virtual CosNotifyFilter::Filter_ptr get_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
-virtual CosNotifyFilter::FilterIDSeq * get_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-protected:
- // = Helper methods
- /// Obtain a proxy pushconsumer object
- CORBA::Object_ptr obtain_proxy_pushconsumer_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- /// Obtain a structured proxy pushconsumer object.
- CORBA::Object_ptr obtain_struct_proxy_pushconsumer_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- /// Obtain a sequence pushconsumer object
- CORBA::Object_ptr obtain_sequence_proxy_pushconsumer_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- // = Data members
- /// The channel to which we belong.
- TAO_Notify_EventChannel_i* event_channel_;
-
- /// The factory for channel objects.
- TAO_Notify_CO_Factory* channel_objects_factory_;
-
- /// The factory for POA based containers.
- TAO_Notify_POA_Factory* poa_factory_;
-
- /// The locking strategy.
- ACE_Lock* lock_;
-
- /// Flag to tell if the child poa's should be destroyed.
- CORBA::Boolean destory_child_POAs_;
-
- /// The inter filter operator to use.
- CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator_;
-
- /// My ID.
- CosNotifyChannelAdmin::AdminID my_id_;
-
- /// This is the POA in which we live.
- PortableServer::POA_var my_POA_;
-
- /// The POA in which all our push consumers live.
- /// We create and own this POA.
- PortableServer::POA_var proxy_pushconsumer_POA_;
-
- // @@ Pradeep: you may want to use a typedef for that template.
- /// Id generator for proxy push consumers.
- TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ProxyID,
- CosNotifyChannelAdmin::ProxyIDSeq> proxy_pushconsumer_ids_;
-
- /// Handle QoS admin methods.
- TAO_Notify_QoSAdmin_i qos_admin_;
-
- /// Handles the Filter Admin methods.
- TAO_Notify_FilterAdmin_i filter_admin_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_SUPPLIERADMIN_I_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.cpp
deleted file mode 100644
index 9df8ecd1499..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// $Id$
-
-#include "Notify_Update_Dispatch_Command.h"
-#include "Notify_Collection.h"
-#include "Notify_Listeners.h"
-#include "Notify_Event.h"
-
-ACE_RCSID(Notify, Notify_Update_Dispatch_Command, "$Id$")
-
-TAO_Notify_Update_Dispatch_Command::TAO_Notify_Update_Dispatch_Command (TAO_Notify_UpdateListener* update_listener, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed)
- :TAO_Notify_Command (0,0),
- update_listener_ (update_listener),
- added_ (added),
- removed_ (removed)
-{
- update_listener_->_incr_refcnt ();
-}
-
-TAO_Notify_Update_Dispatch_Command::~TAO_Notify_Update_Dispatch_Command ()
-{
- update_listener_->_decr_refcnt ();
-}
-
-int
-TAO_Notify_Update_Dispatch_Command::execute (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->update_listener_->dispatch_update (this->added_, this->removed_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.h
deleted file mode 100644
index 33eb47b5d8f..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Update_Dispatch_Command.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Update_Dispatch_Command.h
- *
- * $Id$
- *
- *
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_UPDATE_DISPATCH_COMMAND_H
-#define TAO_NOTIFY_UPDATE_DISPATCH_COMMAND_H
-#include "ace/pre.h"
-#include "Notify_Command.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "notify_export.h"
-#include "tao/corba.h"
-#include "Notify_Collection.h"
-
-class TAO_Notify_UpdateListener;
-
- /**
- * @class TAO_Notify_Update_Dispatch_Command
- *
- * @brief TAO_Notify_Update_Dispatch_Command
- *
- */
-class TAO_Notify_Export TAO_Notify_Update_Dispatch_Command : public TAO_Notify_Command
-{
- public:
- // = Initialization and termination code
- TAO_Notify_Update_Dispatch_Command (TAO_Notify_UpdateListener* listener, TAO_Notify_EventType_List& added, TAO_Notify_EventType_List& removed);
-
- ~TAO_Notify_Update_Dispatch_Command ();
-
- /// Command callback
- virtual int execute (ACE_ENV_SINGLE_ARG_DECL);
-
-protected:
- // = Data Members
- TAO_Notify_UpdateListener* update_listener_;
- TAO_Notify_EventType_List added_;
- TAO_Notify_EventType_List removed_;
-};
-
-/********************************************************************/
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_UPDATE_DISPATCH_COMMAND_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.cpp b/TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.cpp
deleted file mode 100644
index 4c23104c958..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// $Id$
-
-#include "Notify_Worker_Task.h"
-#include "Notify_Command.h"
-#include "Notify_AdminProperties.h"
-#include "Notify_QoSAdmin_i.h"
-
-ACE_RCSID(Notify, Notify_Worker_Task, "$Id$")
-
-TAO_Notify_Worker_Task::TAO_Notify_Worker_Task (void)
-{
-}
-
-TAO_Notify_Worker_Task::~TAO_Notify_Worker_Task ()
-{
-}
-
-int
-TAO_Notify_Worker_Task::init_task (TAO_Notify_AdminProperties* const,
- TAO_Notify_QoSAdmin_i* const)
-{
- return 0;
-}
-
-void
-TAO_Notify_Worker_Task::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
-{
-}
-
-int
-TAO_Notify_Worker_Task::process_event (TAO_Notify_Command *mb ACE_ENV_ARG_DECL, ACE_Time_Value * /*tv*/)
-{
- int result = mb->execute (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- ACE_Message_Block::release (mb);
- return result;
-}
-
-void
-TAO_Notify_Worker_Task::update_admin (TAO_Notify_AdminProperties& /*admin*/)
-{
-}
-
-void
-TAO_Notify_Worker_Task::update_qos (TAO_Notify_QoSAdmin_i& /*qos_admin*/)
-{
-}
-
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.h
deleted file mode 100644
index cac105b333d..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_Worker_Task.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Notify_Worker_Task.h
- *
- * $Id$
- *
- * Worker task handles command execution.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_NOTIFY_WORKER_TASK_H
-#define TAO_NOTIFY_WORKER_TASK_H
-
-#include "ace/pre.h"
-#include "ace/Task.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/corba.h"
-#include "Notify_Command.h"
-#include "notify_export.h"
-
-class TAO_Notify_AdminProperties;
-class TAO_Notify_QoSAdmin_i;
-
-/**
- * @class TAO_Notify_Worker_Task
- *
- * @brief TAO_Notify_Worker_Task
- *
- * A worker task that we use for various event processing jobs.
- * Also see TAO_Notify_Command - This task executes Notify_Command objects.
- * This implementation simply executes the command.
- */
-class TAO_Notify_Export TAO_Notify_Worker_Task
-{
-public:
- // = Initialization and termination code
- /// Constructor.
- TAO_Notify_Worker_Task (void);
- virtual ~TAO_Notify_Worker_Task ();
-
- /// Init the task
- virtual int init_task (TAO_Notify_AdminProperties* const admin_properties,
- TAO_Notify_QoSAdmin_i* const qos_properties);
-
- /// Shutdown this task.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Process the command.
- virtual int process_event (TAO_Notify_Command *mb ACE_ENV_ARG_DECL, ACE_Time_Value *tv = 0);
-
- virtual void update_admin (TAO_Notify_AdminProperties& admin);
- virtual void update_qos (TAO_Notify_QoSAdmin_i& qos_admin);
-
-};
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_WORKER_TASK_H */
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp
deleted file mode 100644
index 523048ac84c..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp
+++ /dev/null
@@ -1,280 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-#include "IIOP_SSL_Connector.h"
-
-#include "SSLIOP_Util.h"
-
-#include "tao/debug.h"
-#include "tao/ORB_Core.h"
-#include "tao/Environment.h"
-#include "tao/IIOP_Endpoint.h"
-#include "tao/Transport_Cache_Manager.h"
-#include "tao/Invocation.h"
-#include "tao/Thread_Lane_Resources.h"
-#include "tao/Connect_Strategy.h"
-#include "ace/Strategies_T.h"
-
-ACE_RCSID (TAO_SSLIOP,
- IIOP_SSL_Connector,
- "$Id$")
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Connect_Concurrency_Strategy<TAO_IIOP_SSL_Connection_Handler>;
-template class TAO_Connect_Creation_Strategy<TAO_IIOP_SSL_Connection_Handler>;
-template class ACE_Strategy_Connector<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_CONNECTOR>;
-template class ACE_Connect_Strategy<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_CONNECTOR>;
-template class ACE_Connector<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_CONNECTOR>;
-template class ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>;
-
-template class ACE_Map_Manager<int, ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>;
-template class ACE_Map_Iterator_Base<int, ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>;
-template class ACE_Map_Entry<int,ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>*>;
-template class ACE_Map_Iterator<int,ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
-template class ACE_Map_Reverse_Iterator<int,ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Connect_Concurrency_Strategy<TAO_IIOP_SSL_Connection_Handler>
-#pragma instantiate TAO_Connect_Creation_Strategy<TAO_IIOP_SSL_Connection_Handler>
-#pragma instantiate ACE_Strategy_Connector<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_CONNECTOR>
-#pragma instantiate ACE_Connect_Strategy<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_CONNECTOR>
-#pragma instantiate ACE_Connector<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_Connector>
-#pragma instantiate ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>
-
-
-#pragma instantiate ACE_Connector<TAO_IIOP_SSL_Connection_Handler, ACE_SOCK_Connector>
-#pragma instantiate ACE_Creation_Strategy<TAO_IIOP_SSL_Connection_Handler>
-#pragma instantiate ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>
-#pragma instantiate ACE_Map_Manager<int, ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Map_Iterator_Base<int, ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Map_Entry<int,ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>*>
-#pragma instantiate ACE_Map_Iterator<int,ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Map_Reverse_Iterator<int,ACE_Svc_Tuple<TAO_IIOP_SSL_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-
-TAO_IIOP_SSL_Connector::TAO_IIOP_SSL_Connector (CORBA::Boolean flag)
- : TAO_IIOP_Connector (flag),
- connect_strategy_ (),
- base_connector_ ()
-{
-}
-
-TAO_IIOP_SSL_Connector::~TAO_IIOP_SSL_Connector (void)
-{
-}
-
-int
-TAO_IIOP_SSL_Connector::open (TAO_ORB_Core *orb_core)
-{
- this->orb_core (orb_core);
-
- // Create our connect strategy
- if (this->create_connect_strategy () == -1)
- return -1;
-
- if (this->init_tcp_properties () != 0)
- return -1;
-
- if (TAO_SSLIOP_Util::setup_handler_state (orb_core,
- &(this->tcp_properties_),
- this->handler_state_) != 0)
- return -1;
-
- /// Our connect creation strategy
- TAO_IIOP_SSL_CONNECT_CREATION_STRATEGY *connect_creation_strategy = 0;
-
- ACE_NEW_RETURN (connect_creation_strategy,
- TAO_IIOP_SSL_CONNECT_CREATION_STRATEGY
- (orb_core->thr_mgr (),
- orb_core,
- &(this->handler_state_),
- this->lite_flag_),
- -1);
-
- /// Our activation strategy
- TAO_IIOP_SSL_CONNECT_CONCURRENCY_STRATEGY *concurrency_strategy = 0;
-
- ACE_NEW_RETURN (concurrency_strategy,
- TAO_IIOP_SSL_CONNECT_CONCURRENCY_STRATEGY (orb_core),
- -1);
-
-
- return this->base_connector_.open (this->orb_core ()->reactor (),
- connect_creation_strategy,
- &this->connect_strategy_,
- concurrency_strategy);
-}
-
-int
-TAO_IIOP_SSL_Connector::close (void)
-{
- delete this->base_connector_.creation_strategy ();
- delete this->base_connector_.concurrency_strategy ();
- return this->base_connector_.close ();
-}
-
-int
-TAO_IIOP_SSL_Connector::set_validate_endpoint (TAO_Endpoint *endpoint)
-{
- if (endpoint->tag () != IOP::TAG_INTERNET_IOP)
- return -1;
-
- TAO_IIOP_Endpoint *iiop_endpoint =
- ACE_dynamic_cast (TAO_IIOP_Endpoint *,
- endpoint);
-
- if (iiop_endpoint == 0)
- return -1;
-
- const ACE_INET_Addr &remote_address =
- iiop_endpoint->object_addr ();
-
- // Verify that the remote ACE_INET_Addr was initialized properly.
- // Failure can occur if hostname lookup failed when initializing the
- // remote ACE_INET_Addr.
- if (remote_address.get_type () != AF_INET)
- {
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("TAO (%P|%t) IIOP connection failed.\n")
- ACE_TEXT ("TAO (%P|%t) This is most likely ")
- ACE_TEXT ("due to a hostname lookup ")
- ACE_TEXT ("failure.\n")));
- }
-
- return -1;
- }
-
- return 0;
-}
-
-int
-TAO_IIOP_SSL_Connector::make_connection (
- TAO_GIOP_Invocation *invocation,
- TAO_Transport_Descriptor_Interface *desc)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("TAO (%P|%t) Connector::connect - ")
- ACE_TEXT ("looking for IIOP connection.\n")));
-
-
-
- TAO_IIOP_Endpoint *iiop_endpoint =
- ACE_dynamic_cast (TAO_IIOP_Endpoint *,
- desc->endpoint ());
-
- if (TAO_debug_level > 4)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) IIOP_SSL_Connector::connect ")
- ACE_TEXT ("making a new connection \n")));
-
- const ACE_INET_Addr &remote_address =
- iiop_endpoint->object_addr ();
-
- // Get the right synch options
- ACE_Synch_Options synch_options;
-
- ACE_Time_Value *max_wait_time = 0;
-
- ACE_Time_Value connection_timeout;
- int timeout = 0;
-
- this->orb_core ()->connection_timeout (invocation->stub (),
- timeout,
- connection_timeout);
- if (!timeout)
- max_wait_time =
- invocation->max_wait_time ();
- else
- max_wait_time = &connection_timeout;
-
-
- this->active_connect_strategy_->synch_options (max_wait_time,
- synch_options);
-
- TAO_IIOP_SSL_Connection_Handler *svc_handler = 0;
-
- // Active connect
- int result = this->base_connector_.connect (svc_handler,
- remote_address,
- synch_options);
-
- if (result == -1 && errno == EWOULDBLOCK)
- {
- result =
- this->active_connect_strategy_->wait (svc_handler,
- max_wait_time);
- }
-
- // Reduce the refcount to the svc_handler that we have. The
- // increment to the handler is done in make_svc_handler (). Now
- // that we dont need the reference to it anymore we can decrement
- // the refcount whether the connection is successful ot not.
- svc_handler->decr_refcount ();
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) IIOP_SSL_Connector::connect ")
- ACE_TEXT ("The result is <%d> \n"), result));
-
- if (result == -1)
- {
- // Give users a clue to the problem.
- if (TAO_debug_level)
- {
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %s:%u, connection to ")
- ACE_TEXT ("%s:%d failed (%p)\n"),
- __FILE__,
- __LINE__,
- iiop_endpoint->host (),
- iiop_endpoint->port (),
- ACE_TEXT ("errno")));
- }
- return -1;
- }
-
- TAO_Transport *base_transport =
- TAO_Transport::_duplicate (svc_handler->transport ());
-
- // Add the handler to Cache.
- //
- // Note that the IIOP-only transport descriptor is used!
- int retval =
- this->orb_core ()->lane_resources ().transport_cache ().cache_transport (desc,
- base_transport);
-
- if (retval != 0 && TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) IIOP_SSL_Connector::connect ")
- ACE_TEXT ("could not add the new connection to ")
- ACE_TEXT ("Cache \n")));
- }
-
- // If the wait strategy wants us to be registered with the reactor
- // then we do so.
- retval = base_transport->wait_strategy ()->register_handler ();
-
- if (retval != 0 && TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_LIB_TEXT ("(%P|%t) IIOP_Connector::connect ")
- ACE_LIB_TEXT ("could not add the new connection to reactor \n")));
- }
-
- // Handover the transport pointer to the Invocation class.
- TAO_Transport *&transport = invocation->transport ();
-
- transport = base_transport;
-
- return 0;
-}
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
deleted file mode 100644
index e606e973301..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
+++ /dev/null
@@ -1,691 +0,0 @@
-// This may look like C, but it's really -*- C++ -*-
-//
-// $Id$
-
-#include "SSLIOP_Acceptor.h"
-#include "SSLIOP_Profile.h"
-#include "SSLIOP_Current.h"
-#include "SSLIOP_Util.h"
-
-#include "tao/MProfile.h"
-#include "tao/ORB_Core.h"
-#include "tao/Server_Strategy_Factory.h"
-#include "tao/debug.h"
-
-#if !defined(__ACE_INLINE__)
-#include "SSLIOP_Acceptor.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID (TAO_SSLIOP,
- SSLIOP_Acceptor,
- "$Id$")
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Acceptor<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>;
-template class ACE_Strategy_Acceptor<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>;
-template class ACE_Accept_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>;
-template class ACE_Creation_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class ACE_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class ACE_Scheduling_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class TAO_Creation_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class TAO_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class TAO_Accept_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Acceptor<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>
-#pragma instantiate ACE_Strategy_Acceptor<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>
-#pragma instantiate ACE_Accept_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>
-#pragma instantiate ACE_Creation_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate ACE_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate ACE_Scheduling_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate TAO_Creation_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate TAO_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate TAO_Accept_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-TAO_SSLIOP_Acceptor::TAO_SSLIOP_Acceptor (Security::QOP qop)
- : TAO_IIOP_SSL_Acceptor (),
- ssl_acceptor_ (),
- creation_strategy_ (0),
- concurrency_strategy_ (0),
- accept_strategy_ (0),
- handler_state_ ()
-{
- // Clear all bits in the SSLIOP::SSL association option fields.
- this->ssl_component_.target_supports = 0;
- this->ssl_component_.target_requires = 0;
-
- // SSLIOP requires these Security::AssociationOptions by default.
- ACE_SET_BITS (this->ssl_component_.target_requires,
- Security::Integrity
- | Security::Confidentiality
- | Security::NoDelegation);
-
- // SSLIOP supports these Security::AssociationOptions by default.
- ACE_SET_BITS (this->ssl_component_.target_supports,
- Security::Integrity
- | Security::Confidentiality
- | Security::EstablishTrustInTarget
- | Security::NoDelegation);
-
- // Initialize the default SSL port to zero (wild card port).
- this->ssl_component_.port = 0;
-
- // @@ This should go away once we support setting security
- // association options through policies.
- if (qop == Security::SecQOPNoProtection)
- ACE_SET_BITS (this->ssl_component_.target_supports,
- Security::NoProtection);
-}
-
-TAO_SSLIOP_Acceptor::~TAO_SSLIOP_Acceptor (void)
-{
- // Make sure we are closed before we start destroying the
- // strategies.
- this->close ();
-
- delete this->creation_strategy_;
- delete this->concurrency_strategy_;
- delete this->accept_strategy_;
-}
-
-int
-TAO_SSLIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key,
- TAO_MProfile &mprofile,
- CORBA::Short priority)
-{
- // Sanity check.
- if (this->endpoint_count_ == 0)
- return -1;
-
- // Check if multiple endpoints should be put in one profile or
- // if they should be spread across multiple profiles.
- if (priority == TAO_INVALID_PRIORITY)
- return this->create_new_profile (object_key,
- mprofile,
- priority);
- else
- return this->create_shared_profile (object_key,
- mprofile,
- priority);
-}
-
-int
-TAO_SSLIOP_Acceptor::create_new_profile (const TAO_ObjectKey &object_key,
- TAO_MProfile &mprofile,
- CORBA::Short priority)
-{
- // Adding this->endpoint_count_ to the TAO_MProfile.
- int count = mprofile.profile_count ();
- if ((mprofile.size () - count) < this->endpoint_count_
- && mprofile.grow (count + this->endpoint_count_) == -1)
- return -1;
-
- // Create a profile for each acceptor endpoint.
- for (size_t i = 0; i < this->endpoint_count_; ++i)
- {
- TAO_SSLIOP_Profile *pfile = 0;
-
- // @@ We need to create an SSLIOP::SSL component for the object
- // we're creating an MProfile for. This will allow us to
- // properly embed secure invocation policies in the generated
- // IOR, i.e. secure invocation policies on a per-object
- // basis, rather than on a per-endpoint basis. If no secure
- // invocation policies have been set then we should use the
- // below default SSLIOP::SSL component.
- ACE_NEW_RETURN (pfile,
- TAO_SSLIOP_Profile (this->hosts_[i],
- this->addrs_[i].get_port_number (),
- object_key,
- this->addrs_[i],
- this->version_,
- this->orb_core_,
- &(this->ssl_component_)),
- -1);
- pfile->endpoint ()->priority (priority);
-
- if (mprofile.give_profile (pfile) == -1)
- {
- pfile->_decr_refcnt ();
- pfile = 0;
- return -1;
- }
-
- if (this->orb_core_->orb_params ()->std_profile_components () == 0)
- continue;
-
- pfile->tagged_components ().set_orb_type (TAO_ORB_TYPE);
-
- CONV_FRAME::CodeSetComponentInfo code_set_info;
- code_set_info.ForCharData.native_code_set =
- TAO_DEFAULT_CHAR_CODESET_ID;
- code_set_info.ForWcharData.native_code_set =
- TAO_DEFAULT_WCHAR_CODESET_ID;
- pfile->tagged_components ().set_code_sets (code_set_info);
-
- IOP::TaggedComponent component;
- component.tag = SSLIOP::TAG_SSL_SEC_TRANS;
-
- // @@???? Check this code, only intended as guideline...
- TAO_OutputCDR cdr;
- cdr << TAO_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER);
-
- // @@ We need to create an SSLIOP::SSL component for the object
- // we're creating an MProfile for. This will allow us to
- // properly embed secure invocation policies in the generated
- // IOR, i.e. secure invocation policies on a per-object
- // basis, rather than on a per-endpoint basis. If no secure
- // invocation policies have been set then we should use the
- // below default SSLIOP::SSL component.
- cdr << this->ssl_component_;
-
- // TAO extension, replace the contents of the octet sequence with
- // the CDR stream
- CORBA::ULong length = cdr.total_length ();
- component.component_data.length (length);
- CORBA::Octet *buf = component.component_data.get_buffer ();
- for (const ACE_Message_Block *i = cdr.begin ();
- i != 0;
- i = i->cont ())
- {
- ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
- buf += i->length ();
- }
-
- pfile->tagged_components ().set_component (component);
- }
-
- return 0;
-}
-
-
-int
-TAO_SSLIOP_Acceptor::create_shared_profile (const TAO_ObjectKey &object_key,
- TAO_MProfile &mprofile,
- CORBA::Short priority)
-{
- size_t index = 0;
- TAO_Profile *pfile = 0;
- TAO_SSLIOP_Profile *ssliop_profile = 0;
-
- // First see if <mprofile> already contains a SSLIOP profile.
- for (TAO_PHandle i = 0; i != mprofile.profile_count (); ++i)
- {
- pfile = mprofile.get_profile (i);
- if (pfile->tag () == IOP::TAG_INTERNET_IOP)
- {
- ssliop_profile = ACE_dynamic_cast (TAO_SSLIOP_Profile *,
- pfile);
- if (ssliop_profile == 0)
- return -1;
- break;
- }
- }
-
- // If <mprofile> doesn't contain SSLIOP_Profile, we need to create
- // one.
- if (ssliop_profile == 0)
- {
- // @@ We need to create an SSLIOP::SSL component for the object
- // we're creating an MProfile for. This will allow us to
- // properly embed secure invocation policies in the generated
- // IOR, i.e. secure invocation policies on a per-object
- // basis, rather than on a per-endpoint basis. If no secure
- // invocation policies have been set then we should use the
- // below default SSLIOP::SSL component.
- ACE_NEW_RETURN (ssliop_profile,
- TAO_SSLIOP_Profile (this->hosts_[0],
- this->addrs_[0].get_port_number (),
- object_key,
- this->addrs_[0],
- this->version_,
- this->orb_core_,
- &(this->ssl_component_)),
- -1);
-
- TAO_SSLIOP_Endpoint *ssliop_endp =
- ACE_dynamic_cast (TAO_SSLIOP_Endpoint *,
- ssliop_profile->endpoint ());
-
- ssliop_endp->priority (priority);
- ssliop_endp->iiop_endpoint ()->priority (priority);
-
- if (mprofile.give_profile (ssliop_profile) == -1)
- {
- ssliop_profile->_decr_refcnt ();
- ssliop_profile = 0;
- return -1;
- }
-
- if (this->orb_core_->orb_params ()->std_profile_components () != 0)
- {
- ssliop_profile->tagged_components ().set_orb_type (TAO_ORB_TYPE);
-
- CONV_FRAME::CodeSetComponentInfo code_set_info;
- code_set_info.ForCharData.native_code_set =
- TAO_DEFAULT_CHAR_CODESET_ID;
- code_set_info.ForWcharData.native_code_set =
- TAO_DEFAULT_WCHAR_CODESET_ID;
- ssliop_profile->tagged_components ().set_code_sets (code_set_info);
-
- IOP::TaggedComponent component;
- component.tag = SSLIOP::TAG_SSL_SEC_TRANS;
- // @@???? Check this code, only intended as guideline...
- TAO_OutputCDR cdr;
- cdr << TAO_OutputCDR::from_boolean (TAO_ENCAP_BYTE_ORDER);
-
- // @@ We need to create an SSLIOP::SSL component for the
- // object we're creating an MProfile for. This will
- // allow us to properly embed secure invocation policies
- // in the generated IOR, i.e. secure invocation policies
- // on a per-object basis, rather than on a per-endpoint
- // basis. If no secure invocation policies have been set
- // then we should use the below default SSLIOP::SSL
- // component.
- cdr << this->ssl_component_;
-
- // TAO extension, replace the contents of the octet sequence with
- // the CDR stream
- CORBA::ULong length = cdr.total_length ();
- component.component_data.length (length);
- CORBA::Octet *buf = component.component_data.get_buffer ();
- for (const ACE_Message_Block *i = cdr.begin ();
- i != 0;
- i = i->cont ())
- {
- ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
- buf += i->length ();
- }
-
- ssliop_profile->tagged_components ().set_component (component);
- }
-
- index = 1;
- }
-
- // Add any remaining endpoints to the SSLIOP_Profile.
- for (;
- index < this->endpoint_count_;
- ++index)
- {
- TAO_SSLIOP_Endpoint *ssl_endp = 0;
- TAO_IIOP_Endpoint *iiop_endp = 0;
- ACE_NEW_RETURN (iiop_endp,
- TAO_IIOP_Endpoint (this->hosts_[index],
- this->addrs_[index].get_port_number (),
- this->addrs_[index]),
- -1);
- iiop_endp->priority (priority);
-
- ACE_NEW_RETURN (ssl_endp,
- TAO_SSLIOP_Endpoint (&(this->ssl_component_),
- iiop_endp),
- -1);
-
- ssl_endp->priority (priority);
- ssliop_profile->add_endpoint (ssl_endp);
- }
-
- return 0;
-}
-
-int
-TAO_SSLIOP_Acceptor::is_collocated (const TAO_Endpoint *endpoint)
-{
- const TAO_SSLIOP_Endpoint *endp =
- ACE_dynamic_cast (const TAO_SSLIOP_Endpoint *,
- endpoint);
-
- // Make sure the dynamically cast pointer is valid.
- if (endp == 0)
- return 0;
-
- for (size_t i = 0; i < this->endpoint_count_; ++i)
- {
- // @@ TODO The following code looks funky, why only the address
- // is compared? What about the IIOP address? Why force a
- // DNS lookup every time an SSLIOP object is decoded:
- //
- // http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1220
- //
- if (endp->iiop_endpoint ()->object_addr () == this->addrs_[i])
- return 1; // Collocated
- }
-
- return 0; // Not collocated
-}
-
-int
-TAO_SSLIOP_Acceptor::close (void)
-{
- int r = this->ssl_acceptor_.close ();
- if (this->TAO_IIOP_SSL_Acceptor::close () != 0)
- r = -1;
-
- return r;
-}
-
-int
-TAO_SSLIOP_Acceptor::open (TAO_ORB_Core *orb_core,
- ACE_Reactor *reactor,
- int major,
- int minor,
- const char *address,
- const char *options)
-{
- // Ensure that neither the endpoint configuration nor the ORB
- // configuration violate security measures.
- if (this->verify_secure_configuration (orb_core,
- major,
- minor) != 0)
- return -1;
-
- // Open the non-SSL enabled endpoints, then open the SSL enabled
- // endpoints.
- if (this->TAO_IIOP_SSL_Acceptor::open (orb_core,
- reactor,
- major,
- minor,
- address,
- options) != 0)
- return -1;
-
- // The SSL port is set in the parse_options() method. All we have
- // to do is call open_i()
- ACE_INET_Addr addr (this->ssl_component_.port,
- this->addrs_[0].get_host_addr ());
-
- return this->ssliop_open_i (orb_core,
- addr,
- reactor);
-}
-
-int
-TAO_SSLIOP_Acceptor::open_default (TAO_ORB_Core *orb_core,
- ACE_Reactor *reactor,
- int major,
- int minor,
- const char *options)
-{
- // Ensure that neither the endpoint configuration nor the ORB
- // configuration violate security measures.
- if (this->verify_secure_configuration (orb_core,
- major,
- minor) != 0)
- return -1;
-
- // Open the non-SSL enabled endpoints, then open the SSL enabled
- // endpoints.
- if (this->TAO_IIOP_SSL_Acceptor::open_default (orb_core,
- reactor,
- major,
- minor,
- options) == -1)
- return -1;
-
- // Now that each network interface's hostname has been cached, open
- // an endpoint on each network interface using the INADDR_ANY
- // address.
- ACE_INET_Addr addr;
-
- // this->ssl_component_.port is initialized to zero or it is set in
- // this->parse_options().
- if (addr.set (this->ssl_component_.port,
- ACE_static_cast(ACE_UINT32, INADDR_ANY),
- 1) != 0)
- return -1;
-
- return this->ssliop_open_i (orb_core,
- addr,
- reactor);
-}
-
-int
-TAO_SSLIOP_Acceptor::ssliop_open_i (TAO_ORB_Core *orb_core,
- const ACE_INET_Addr& addr,
- ACE_Reactor *reactor)
-{
- this->orb_core_ = orb_core;
-
- int giop_lite = 0;
- // Explicitly disable GIOPlite support since it introduces security
- // holes.
-
- if (TAO_SSLIOP_Util::setup_handler_state (this->orb_core_,
- &(this->tcp_properties_),
- this->handler_state_) != 0)
- return -1;
-
- ACE_NEW_RETURN (this->creation_strategy_,
- TAO_SSLIOP_CREATION_STRATEGY (this->orb_core_,
- &(this->handler_state_),
- giop_lite),
- -1);
-
- ACE_NEW_RETURN (this->concurrency_strategy_,
- TAO_SSLIOP_CONCURRENCY_STRATEGY (this->orb_core_),
- -1);
-
- ACE_NEW_RETURN (this->accept_strategy_,
- TAO_SSLIOP_ACCEPT_STRATEGY (this->orb_core_),
- -1);
-
- if (this->ssl_acceptor_.open (addr,
- reactor,
- this->creation_strategy_,
- this->accept_strategy_,
- this->concurrency_strategy_) == -1)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\n\nTAO (%P|%t) ")
- ACE_TEXT ("SSLIOP_Acceptor::open_i - %p\n\n"),
- ACE_TEXT ("cannot open acceptor")));
- return -1;
- }
-
- ACE_INET_Addr ssl_address;
-
- // We do this to make sure the port number the endpoint is listening
- // on gets set in the addr.
- if (this->ssl_acceptor_.acceptor ().get_local_addr (ssl_address) != 0)
- {
- // @@ Should this be a catastrophic error???
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\n\nTAO (%P|%t) ")
- ACE_TEXT ("SSLIOP_Acceptor::open_i - %p\n\n"),
- ACE_TEXT ("cannot get local addr")));
- return -1;
- }
-
- // Reset the SSL endpoint port to the one chosen by the OS (or by
- // the user if provided.
- this->ssl_component_.port = ssl_address.get_port_number ();
-
- (void) this->ssl_acceptor_.acceptor().enable (ACE_CLOEXEC);
- // This avoids having child processes acquire the listen socket
- // thereby denying the server the opportunity to restart on a
- // well-known endpoint. This does not affect the aberrent behavior
- // on Win32 platforms.
-
- if (TAO_debug_level > 5)
- {
- for (size_t i = 0; i < this->endpoint_count_; ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("TAO (%P|%t) ")
- ACE_TEXT ("SSLIOP_Acceptor::open_i - ")
- ACE_TEXT ("listening on: <%s:%u>\n"),
- this->hosts_[i],
- this->ssl_component_.port));
- }
- }
-
- return 0;
-}
-
-int
-TAO_SSLIOP_Acceptor::parse_options (const char *str)
-{
- if (str == 0)
- return 0; // No options to parse. Not a problem.
-
- // Use an option format similar to the one used for CGI scripts in
- // HTTP URLs.
- // e.g.: option1=foo&option2=bar
-
- ACE_CString options (str);
-
- size_t len = options.length ();
-
- const char option_delimiter = '&';
-
- // Count the number of options.
-
- CORBA::ULong option_count = 1;
- // Number of endpoints in the string (initialized to 1).
-
- // Only check for endpoints after the protocol specification and
- // before the object key.
- for (size_t i = 0; i < len; ++i)
- if (options[i] == option_delimiter)
- option_count++;
-
- // The idea behind the following loop is to split the options into
- // (option, name) pairs.
- // For example,
- // `option1=foo&option2=bar'
- // will be parsed into:
- // `option1=foo'
- // `option2=bar'
-
- int begin = 0;
- int end = -1;
-
- // @@ We should add options to set the security association options,
- // or are those controlled by Policies?
- // @@ They are controlled by the SecureInvocation policies defined
- // in the Security Service specification.
- for (CORBA::ULong j = 0; j < option_count; ++j)
- {
- begin += end + 1;
-
- if (j < option_count - 1)
- end = options.find (option_delimiter, begin);
- else
- end = len - begin; // Handle last endpoint differently
-
- if (end == begin)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) Zero length")
- ACE_TEXT ("IIOP/SSL option.\n")),
- -1);
- else if (end != ACE_CString::npos)
- {
- ACE_CString opt = options.substring (begin, end);
-
- int slot = opt.find ("=");
-
- if (slot == ACE_static_cast (int, len - 1)
- || slot == ACE_CString::npos)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) IIOP/SSL")
- ACE_TEXT ("option <%s> is ")
- ACE_TEXT ("missing a value.\n"),
- opt.c_str ()),
- -1);
-
- ACE_CString name = opt.substring (0, slot);
- ACE_CString value = opt.substring (slot + 1);
-
- if (name.length () == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "TAO (%P|%t) Zero length IIOP/SSL "
- "option name.\n"),
- -1);
-
- if (name == "priority")
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) Invalid SSLIOP endpoint format: ")
- ACE_TEXT ("endpoint priorities no longer supported. \n"),
- value.c_str ()),
- -1);
- }
- else if (ACE_OS::strcmp (name.c_str (), "ssl_port") == 0)
- {
- int ssl_port = ACE_OS::atoi (value.c_str ());
-
- if (ssl_port >= 0 && ssl_port < 65536)
- this->ssl_component_.port = ssl_port;
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) Invalid ")
- ACE_TEXT ("IIOP/SSL endpoint ")
- ACE_TEXT ("port: <%s>\n"),
- value.c_str ()),
- -1);
- }
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("TAO (%P|%t) Invalid ")
- ACE_TEXT ("IIOP/SSL ")
- ACE_TEXT ("option: <%s>\n"),
- name.c_str ()),
- -1);
- }
- }
- return 0;
-}
-
-int
-TAO_SSLIOP_Acceptor::verify_secure_configuration (TAO_ORB_Core *orb_core,
- int major,
- int minor)
-{
- // Sanity check.
- if (major < 1)
- {
- // There is no such thing as IIOP 0.x.
- errno = EINVAL;
- return -1;
- }
-
- // In order to support a secure connection, the SSLIOP::SSL tagged
- // component must be embedded in the IOR. This isn't possible if
- // the user elects to disable standard profile components.
- // Similarly, IIOP 1.0 does not support tagged components, which
- // makes it impossible to embed the SSLIOP::SSL tagged component
- // within the IOR. If the given object explicitly disallows
- // insecure invocations and standard profile components are
- // disabled, then return with an error since secure invocations
- // cannot be supported without standard profile components.
- //
- // Note that it isn't enough to support NoProtection. NoProtection
- // must be required since "support" does not preclude the secure
- // port from being used.
-
- if ((orb_core->orb_params ()->std_profile_components () == 0
- || (major == 1 && minor == 0))
- && ACE_BIT_DISABLED (this->ssl_component_.target_requires,
- Security::NoProtection))
- {
- if (TAO_debug_level > 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Cannot support secure ")
- ACE_TEXT ("IIOP over SSL connection if\n")
- ACE_TEXT ("(%P|%t) standard profile ")
- ACE_TEXT ("components are disabled\n")
- ACE_TEXT ("(%P|%t) or IIOP 1.0 endpoint is ")
- ACE_TEXT ("used.\n")));
-
- errno = EINVAL;
- return -1;
- }
-
- return 0;
-}
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h
deleted file mode 100644
index 8584ca11718..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h
+++ /dev/null
@@ -1,150 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSLIOP_Acceptor.h
- *
- * $Id$
- *
- * IIOP/SSL specific acceptor processing
- *
- *
- * @author Carlos O'Ryan <coryan@uci.edu>
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_SSLIOP_ACCEPTOR_H
-#define TAO_SSLIOP_ACCEPTOR_H
-
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "IIOP_SSL_Acceptor.h"
-#include "SSLIOP_Connection_Handler.h"
-
-#include "ace/SSL/SSL_SOCK_Acceptor.h"
-
-#include "orbsvcs/SSLIOPC.h"
-
-
-
-/**
- * @class TAO_SSLIOP_Acceptor
- *
- * @brief The SSLIOP-specific bridge class for the concrete acceptor.
- */
-class TAO_SSLIOP_Export TAO_SSLIOP_Acceptor
- : public TAO_IIOP_SSL_Acceptor
-{
-
-public:
-
- /// Constructor.
- TAO_SSLIOP_Acceptor (Security::QOP qop);
-
- /// Destructor.
- ~TAO_SSLIOP_Acceptor (void);
-
- typedef ACE_Strategy_Acceptor<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR> TAO_SSLIOP_BASE_ACCEPTOR;
- typedef TAO_Creation_Strategy<TAO_SSLIOP_Connection_Handler> TAO_SSLIOP_CREATION_STRATEGY;
- typedef TAO_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler> TAO_SSLIOP_CONCURRENCY_STRATEGY;
- typedef TAO_Accept_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_ACCEPTOR> TAO_SSLIOP_ACCEPT_STRATEGY;
-
- /**
- * @name The TAO_Acceptor Methods
- *
- * Check the documentation in tao/Pluggable.h for details.
- */
- //@{
- virtual int open (TAO_ORB_Core *orb_core,
- ACE_Reactor *reactor,
- int version_major,
- int version_minor,
- const char *address,
- const char *options = 0);
- virtual int open_default (TAO_ORB_Core *orb_core,
- ACE_Reactor *reactor,
- int version_major,
- int version_minor,
- const char *options = 0);
- virtual int close (void);
- virtual int create_profile (const TAO_ObjectKey &object_key,
- TAO_MProfile &mprofile,
- CORBA::Short priority);
- virtual int is_collocated (const TAO_Endpoint* endpoint);
- //@}
-
- /// Retrieve the SSLIOP::SSL component associated with the endpoints
- /// set up by this acceptor.
- const SSLIOP::SSL &ssl_component (void) const;
-
-private:
-
- /// Implement the common part of the open*() methods.
- int ssliop_open_i (TAO_ORB_Core *orb_core,
- const ACE_INET_Addr& addr,
- ACE_Reactor *reactor);
-
- /// Parse protocol specific options.
- int parse_options (const char *options);
-
-
- /// Ensure that neither the endpoint configuration nor the ORB
- /// configuration violate security measures.
- int verify_secure_configuration (TAO_ORB_Core *orb_core,
- int major,
- int minor);
-
- /// Helper method to add a new profile to the mprofile for
- /// each endpoint.
- int create_new_profile (const TAO_ObjectKey &object_key,
- TAO_MProfile &mprofile,
- CORBA::Short priority);
-
- /// Helper method to create a profile that contains all of
- /// our endpoints.
- int create_shared_profile (const TAO_ObjectKey &object_key,
- TAO_MProfile &mprofile,
- CORBA::Short priority);
-
-private:
-
- /// The concrete acceptor, as a pointer to it's base class.
- TAO_SSLIOP_BASE_ACCEPTOR ssl_acceptor_;
-
- /**
- * @name Acceptor Strategies
- *
- * Strategies used when accepting an incoming connection.
- */
- TAO_SSLIOP_CREATION_STRATEGY *creation_strategy_;
- TAO_SSLIOP_CONCURRENCY_STRATEGY *concurrency_strategy_;
- TAO_SSLIOP_ACCEPT_STRATEGY *accept_strategy_;
-
- /// The SSL component.
- /**
- * This is the SSLIOP endpoint-specific tagged component that is
- * embedded in a given IOR.
- */
- SSLIOP::SSL ssl_component_;
-
- /// State that will be passed to each SSLIOP connection handler upon
- /// creation.
- TAO_SSLIOP_Connection_Handler_State handler_state_;
-
-};
-
-#if defined(__ACE_INLINE__)
-#include "SSLIOP_Acceptor.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-
-#endif /* TAO_SSLIOP_ACCEPTOR_H */
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
deleted file mode 100644
index 8a4ba4a32ec..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+++ /dev/null
@@ -1,677 +0,0 @@
-// -*- C++ -*-
-
-#include "SSLIOP_Connector.h"
-#include "SSLIOP_Credentials.h"
-#include "SSLIOP_Profile.h"
-#include "SSLIOP_Util.h"
-#include "SSLIOP_X509.h"
-
-#include "tao/debug.h"
-#include "tao/ORB_Core.h"
-#include "tao/Client_Strategy_Factory.h"
-#include "tao/Environment.h"
-#include "tao/Base_Transport_Property.h"
-#include "tao/Transport_Cache_Manager.h"
-#include "tao/Invocation.h"
-#include "tao/Thread_Lane_Resources.h"
-#include "tao/Stub.h"
-#include "tao/Transport_Connector.h"
-#include "tao/Blocked_Connect_Strategy.h"
-#include "ace/Auto_Ptr.h"
-
-ACE_RCSID (TAO_SSLIOP,
- SSLIOP_Connector,
- "$Id$")
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class TAO_Connect_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class TAO_Connect_Creation_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
-template class ACE_Connect_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
-template class ACE_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
-template class ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>;
-
-template class ACE_Map_Manager<int, ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>;
-template class ACE_Map_Iterator_Base<int, ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>;
-template class ACE_Map_Entry<int,ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>*>;
-template class ACE_Map_Iterator<int,ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
-template class ACE_Map_Reverse_Iterator<int,ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>;
-template class ACE_Auto_Basic_Ptr<TAO_SSLIOP_Connection_Handler>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate TAO_Connect_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate TAO_Connect_Creation_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
-#pragma instantiate ACE_Connect_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
-#pragma instantiate ACE_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
-
-#pragma instantiate ACE_Creation_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>
-
-#pragma instantiate ACE_Map_Manager<int, ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Map_Iterator_Base<int, ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler> *, TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Map_Entry<int,ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>*>
-#pragma instantiate ACE_Map_Iterator<int,ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Map_Reverse_Iterator<int,ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>*,TAO_SYNCH_RW_MUTEX>
-#pragma instantiate ACE_Auto_Basic_Ptr<TAO_SSLIOP_Connection_Handler>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
-
-TAO_SSLIOP_Connector::TAO_SSLIOP_Connector (Security::QOP qop)
- : TAO_IIOP_SSL_Connector (),
- qop_ (qop),
- connect_strategy_ (),
- base_connector_ (),
- handler_state_ ()
-{
-}
-
-int
-TAO_SSLIOP_Connector::open (TAO_ORB_Core *orb_core)
-{
- // Since the ACE_Strategy_Connector (and ACE_Connector) cannot
- // handle non-blocking connections with protocols that have more
- // than once handshake, such as SSL, force blocking connections for
- // SSLIOP. This deficiency will be addressed soon.
- ACE_NEW_RETURN (this->active_connect_strategy_,
- TAO_Blocked_Connect_Strategy (orb_core),
- -1);
-
- if (this->TAO_IIOP_SSL_Connector::open (orb_core) == -1)
- return -1;
-
- if (TAO_SSLIOP_Util::setup_handler_state (orb_core,
- &(this->tcp_properties_),
- this->handler_state_) != 0)
- return -1;
-
- // Our connect creation strategy
- TAO_SSLIOP_CONNECT_CREATION_STRATEGY *connect_creation_strategy = 0;
-
- ACE_NEW_RETURN (connect_creation_strategy,
- TAO_SSLIOP_CONNECT_CREATION_STRATEGY
- (orb_core->thr_mgr (),
- orb_core,
- &(this->handler_state_),
- 0 /* Forcibly disable TAO's GIOPlite feature.
- It introduces a security hole. */),
- -1);
-
- // Our activation strategy
- TAO_SSLIOP_CONNECT_CONCURRENCY_STRATEGY *concurrency_strategy = 0;
-
- ACE_NEW_RETURN (concurrency_strategy,
- TAO_SSLIOP_CONNECT_CONCURRENCY_STRATEGY (orb_core),
- -1);
-
- ACE_Reactor *r = this->orb_core ()->reactor ();
-
- return this->base_connector_.open (r,
- connect_creation_strategy,
- &this->connect_strategy_,
- concurrency_strategy);
-}
-
-int
-TAO_SSLIOP_Connector::close (void)
-{
- (void) this->TAO_IIOP_SSL_Connector::close ();
-
- delete this->base_connector_.creation_strategy ();
- delete this->base_connector_.concurrency_strategy ();
- return this->base_connector_.close ();
-}
-
-int
-TAO_SSLIOP_Connector::connect (TAO_GIOP_Invocation *invocation,
- TAO_Transport_Descriptor_Interface *desc
- ACE_ENV_ARG_DECL)
-{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("TAO (%P|%t) Connector::connect - ")
- ACE_TEXT ("looking for SSLIOP connection.\n")));
-
- TAO_Endpoint *endpoint = desc->endpoint ();
-
- if (endpoint->tag () != IOP::TAG_INTERNET_IOP)
- return -1;
-
- TAO_SSLIOP_Endpoint *ssl_endpoint =
- ACE_dynamic_cast (TAO_SSLIOP_Endpoint *,
- endpoint);
-
- if (ssl_endpoint == 0)
- return -1;
-
- // @@ TODO: The EstablishTrust policy should be evaluated once per
- // connection, not once per invocation. This should
- // improve performance.
- //
- // Check if the user overrode the default establishment of trust
- // policy for the current object.
- CORBA::Policy_var policy =
- invocation->stub ()->get_policy (Security::SecEstablishTrustPolicy
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- SecurityLevel2::EstablishTrustPolicy_var trust_policy =
- SecurityLevel2::EstablishTrustPolicy::_narrow (policy.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // We use a pointer and temporary to make it obvious to determine
- // if no establishment of trust policy was set. Specifically, if
- // the "trust" pointer below is zero, then the SSLIOP pluggable
- // protocol default value will be used.
- Security::EstablishTrust trust = { 0 , 0 };
- if (!CORBA::is_nil (trust_policy.in ()))
- {
- trust = trust_policy->trust (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
- }
-
- // Flag that states whether any form of establishment of trust
- // should occur.
- CORBA::Boolean establish_trust =
- trust.trust_in_target || trust.trust_in_client;
-
- // @@ Should this be in a "policy validator?"
- //
- // If the SSL port is zero, then no SSLIOP tagged component was
- // available in the IOR, meaning that there is no way to establish
- // trust. Throw an exception.
- if (ssl_endpoint->ssl_component ().port == 0
- && establish_trust)
- {
- if (TAO_debug_level > 0)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("TAO_SSLIOP (%P|%t) ERROR: ")
- ACE_TEXT ("Cannot establish trust since ")
- ACE_TEXT ("no SSLIOP tagged component was ")
- ACE_TEXT ("found in the IOR.\n")));
- }
-
- ACE_THROW_RETURN (CORBA::INV_POLICY (), // @@ Correct exception?
- -1);
- }
-
- // Check if the user overrode the default Quality-of-Protection for
- // the current object.
- policy = invocation->stub ()->get_policy (Security::SecQOPPolicy
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- SecurityLevel2::QOPPolicy_var qop_policy =
- SecurityLevel2::QOPPolicy::_narrow (policy.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // Temporary variable used to avoid overwriting the default value
- // set when the ORB was initialized.
- Security::QOP qop = this->qop_;
-
- if (!CORBA::is_nil (qop_policy.in ()))
- {
- qop = qop_policy->qop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
- }
-
- // If the SSL port is zero, then no SSLIOP tagged component was
- // available in the IOR, meaning that there is no way to make a
- // secure invocation. Throw an exception.
- if (qop != Security::SecQOPNoProtection
- && ssl_endpoint->ssl_component ().port == 0)
- {
- if (TAO_debug_level > 0)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("TAO_SSLIOP (%P|%t) ERROR: ")
- ACE_TEXT ("Cannot make secure invocation since ")
- ACE_TEXT ("no SSLIOP tagged component was ")
- ACE_TEXT ("found in the IOR.\n")));
- }
-
- ACE_THROW_RETURN (CORBA::INV_POLICY (), // @@ Correct exception?
- -1);
- }
-
- if ((!establish_trust && qop == Security::SecQOPNoProtection)
- || ssl_endpoint->ssl_component ().port == 0)
- {
- return this->iiop_connect (ssl_endpoint,
- invocation
- ACE_ENV_ARG_PARAMETER);
- }
-
- return this->ssliop_connect (ssl_endpoint,
- qop,
- trust,
- invocation,
- desc
- ACE_ENV_ARG_PARAMETER);
-}
-
-
-TAO_Profile *
-TAO_SSLIOP_Connector::create_profile (TAO_InputCDR& cdr)
-{
- TAO_Profile *pfile;
- ACE_NEW_RETURN (pfile,
- TAO_SSLIOP_Profile (this->orb_core ()),
- 0);
-
- int r = pfile->decode (cdr);
- if (r == -1)
- {
- pfile->_decr_refcnt ();
- pfile = 0;
- }
-
- return pfile;
-}
-
-TAO_Profile *
-TAO_SSLIOP_Connector::make_profile (ACE_ENV_SINGLE_ARG_DECL)
-{
- // The endpoint should be of the form:
- // N.n@host:port/object_key
- // or:
- // host:port/object_key
-
- TAO_Profile *profile = 0;
- ACE_NEW_THROW_EX (profile,
- TAO_SSLIOP_Profile (this->orb_core (),
- 0), // SSL component
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_CHECK_RETURN (0);
-
- return profile;
-}
-
-int
-TAO_SSLIOP_Connector::iiop_connect (TAO_SSLIOP_Endpoint *ssl_endpoint,
- TAO_GIOP_Invocation *invocation
- ACE_ENV_ARG_DECL)
-{
- const SSLIOP::SSL &ssl_component = ssl_endpoint->ssl_component ();
-
- // Only allow connection to the insecure IIOP port if the endpoint
- // explicitly allows it, i.e. if the Security::NoProtection security
- // association bit is set in the SSLIOP::SSL::target_supports field.
- // The server performs the same permission check, so this check is
- // an optimization since a connection will not be established
- // needlessly, i.e. rejected due to lack of permission.
- //
- // Note that it is still possible for the standard non-SSLIOP aware
- // IIOP pluggable protocol to attempt to connect to the insecure
- // port. In that case, the server will have to prevent the
- // connection, and subsequently the request, from completing.
- if (ACE_BIT_DISABLED (ssl_component.target_supports,
- Security::NoProtection))
- ACE_THROW_RETURN (CORBA::NO_PERMISSION (
- CORBA_SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- EPERM),
- CORBA::COMPLETED_NO),
- -1);
-
- TAO_IIOP_Endpoint *iiop_endpoint = ssl_endpoint->iiop_endpoint ();
-
- // An IIOP-only transport descriptor must be used instead of the one
- // passed to this method since the latter is used for SSLIOP
- // connections. Doing so prevents an IIOP-only cached transport
- // from being associated with an SSLIOP connection.
- TAO_Base_Transport_Property iiop_desc (iiop_endpoint);
-
- // Note that the IIOP-only transport descriptor is used!
- return this->TAO_IIOP_SSL_Connector::connect (invocation,
- &iiop_desc
- ACE_ENV_ARG_PARAMETER);
-}
-
-int
-TAO_SSLIOP_Connector::ssliop_connect (TAO_SSLIOP_Endpoint *ssl_endpoint,
- Security::QOP qop,
- const Security::EstablishTrust &trust,
- TAO_GIOP_Invocation *invocation,
- TAO_Transport_Descriptor_Interface *desc
- ACE_ENV_ARG_DECL)
-{
- TAO_Transport *&transport = invocation->transport ();
-
- const SSLIOP::SSL &ssl_component = ssl_endpoint->ssl_component ();
-
- // @@ The following check for "required insecurity" seems odd, but
- // I haven't seen anything in the Security spec that says this
- // policy isn't possible.
- // -Ossama
-
- // If the endpoint requires an insecure connection, i.e. the
- // Security::NoProtection security association bit in the
- // SSLIOP::SSL::target_requires field is enabled, then prevent an
- // SSL connection from occuring.
- if (ACE_BIT_ENABLED (ssl_component.target_requires,
- Security::NoProtection))
- ACE_THROW_RETURN (CORBA::NO_PERMISSION (
- CORBA_SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- EPERM),
- CORBA::COMPLETED_NO),
- -1);
-
- // If the invocation wants integrity without confidentiality but the
- // server does not support "no protection," then it won't be
- // possible provide integrity. In order to support integrity
- // without confidentiality, encryption must be disabled but secure
- // hashes must remain enabled. This is achieved using the "eNULL"
- // cipher. However, the "eNULL" cipher is only enabled on the
- // server side if "no protection" is enabled.
- if (ACE_BIT_DISABLED (ssl_component.target_supports,
- Security::NoProtection)
- && qop == Security::SecQOPIntegrity)
- ACE_THROW_RETURN (CORBA::INV_POLICY (), -1);
-
- const ACE_INET_Addr &remote_address =
- ssl_endpoint->object_addr ();
-
- // Verify that the remote ACE_INET_Addr was initialized
- // properly. Failure can occur if hostname lookup failed when
- // initializing the remote ACE_INET_Addr.
- if (remote_address.get_type () != AF_INET)
- {
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("TAO (%P|%t) SSLIOP connection failed.\n")
- ACE_TEXT ("TAO (%P|%t) This is most likely ")
- ACE_TEXT ("due to a hostname lookup ")
- ACE_TEXT ("failure.\n")));
- }
-
- return -1;
- }
-
- int result = 0;
- TAO_SSLIOP_Connection_Handler *svc_handler = 0;
- TAO_Transport *base_transport = 0;
-
- // Check the Cache first for connections
- if (this->orb_core ()->lane_resources ().transport_cache ().find_transport (
- desc,
- base_transport) == 0)
- {
- if (TAO_debug_level > 5)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) SSLIOP_Connector::connect ")
- ACE_TEXT ("got an existing transport with ID %d\n"),
- base_transport->id ()));
- }
- else
- {
- if (TAO_debug_level > 4)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) SSLIOP_Connector::connect ")
- ACE_TEXT ("making a new connection \n")));
-
- // Purge connections (if necessary)
- this->orb_core ()->lane_resources ().transport_cache ().purge ();
-
- // The svc_handler is created beforehand so that we can get
- // access to the underlying ACE_SSL_SOCK_Stream (the peer) and
- // its SSL pointer member prior to descending into the
- // ACE_Strategy_Connector (the "base_connector_"). This is
- // thread-safe and reentrant, hence no synchronization is
- // necessary.
- if (this->base_connector_.creation_strategy ()->make_svc_handler (
- svc_handler) != 0)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Unable to create SSLIOP ")
- ACE_TEXT ("service handler.\n")));
-
- return -1;
- }
-
- ACE_Auto_Basic_Ptr<TAO_SSLIOP_Connection_Handler>
- safe_handler (svc_handler);
-
- // Setup the establishment of trust connection properties, if
- // any.
- int verify_mode = 0;
-
- // On the server side, "trust_in_client" requires that a peer
- // (client) certificate exist. Fail if one doesn't exist.
- //
- // In SSLIOP's case, trust_in_client also implies
- // trust_in_target.
- if (trust.trust_in_client)
- verify_mode = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
-
- // Require verification of the target's certificate.
- else if (trust.trust_in_target)
- verify_mode = SSL_VERIFY_PEER;
-
- // Trust in neither the client nor the target is explicitly
- // specified. Use the default setting.
- else
- verify_mode =
- ACE_SSL_Context::instance ()->default_verify_mode ();
-
- ::SSL_set_verify (svc_handler->peer ().ssl (),
- verify_mode,
- 0);
-
- // The "eNULL" cipher disables encryption but still uses a
- // secure hash (e.g. SHA1 or MD5) to ensure integrity. (Try the
- // command "openssl ciphers -v eNULL".)
- //
- // Note that it is not possible to completely disable protection
- // here.
- if ((qop == Security::SecQOPNoProtection
- || qop == Security::SecQOPIntegrity)
- && ::SSL_set_cipher_list (svc_handler->peer ().ssl (),
- "eNULL") == 0)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Unable to set eNULL ")
- ACE_TEXT ("SSL cipher.\n")));
-
- ACE_THROW_RETURN (CORBA::INV_POLICY (), -1);
- }
-
- TAO_SSLIOP_Credentials_var credentials =
- this->retrieve_credentials (invocation->stub (),
- svc_handler->peer ().ssl ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- svc_handler = safe_handler.release ();
-
- // Get the max_wait_time
- ACE_Time_Value *max_wait_time = 0;
-
- ACE_Time_Value connection_timeout;
- int timeout = 0;
-
- this->orb_core ()->connection_timeout (invocation->stub (),
- timeout,
- connection_timeout);
- if (!timeout)
- max_wait_time =
- invocation->max_wait_time ();
- else
- max_wait_time = &connection_timeout;
-
- // Get the right synch options
- ACE_Synch_Options synch_options;
-
- this->active_connect_strategy_->synch_options (max_wait_time,
- synch_options);
-
- // We obtain the transport in the <svc_handler> variable.
- // As we know now that the connection is not available in
- // Cache we can make a new connection
- result = this->base_connector_.connect (svc_handler,
- remote_address,
- synch_options);
-
- // We dont have to wait since we only use a blocked connect
- // strategy.
- if (result == -1 && errno == EWOULDBLOCK)
- {
- result =
- this->active_connect_strategy_->wait (svc_handler,
- max_wait_time);
- }
-
- // Reduce the refcount to the svc_handler that we have. The
- // increment to the handler is done in make_svc_handler (). Now
- // that we dont need the reference to it anymore we can decrement
- // the refcount whether the connection is successful ot not.
- svc_handler->decr_refcount ();
-
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) SSLIOP_Connector::connect - ")
- ACE_TEXT ("The result is <%d> \n"), result));
-
- if (result == -1)
- {
- if (TAO_debug_level > 0)
- {
- char buffer [MAXHOSTNAMELEN + 6 + 1];
- ssl_endpoint->addr_to_string (buffer,
- sizeof (buffer) - 1);
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) %N:%l, connection to ")
- ACE_TEXT ("%s, SSL port %d failed (%p)\n"),
- buffer,
- remote_address.get_port_number (),
- ACE_TEXT ("errno")));
- }
-
- return -1;
- }
-
- base_transport = TAO_Transport::_duplicate (svc_handler->transport ());
-
- ssl_endpoint->qop (qop);
- ssl_endpoint->trust (trust);
- ssl_endpoint->credentials (credentials.in ());
-
- // Add the handler to Cache
- int retval =
- this->orb_core ()->lane_resources ().transport_cache ().cache_transport (
- desc,
- base_transport);
-
- if (retval != 0 && TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) SSLIOP_Connector::connect ")
- ACE_TEXT ("could not add the new connection to ")
- ACE_TEXT ("Cache.\n")));
- }
- }
-
- // If the wait strategy wants us to be registered with the reactor
- // then we do so.
- int ret = base_transport->wait_strategy ()->register_handler ();
-
- if (ret != 0 && TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_LIB_TEXT ("(%P|%t) IIOP_Connector::connect ")
- ACE_LIB_TEXT ("could not add the new connection to reactor \n")));
- }
-
- // No need to _duplicate and release since base_transport
- // is going out of scope. transport now has control of base_transport.
- transport = base_transport;
-
- return 0;
-}
-
-TAO_SSLIOP_Credentials *
-TAO_SSLIOP_Connector::retrieve_credentials (TAO_Stub *stub,
- SSL *ssl
- ACE_ENV_ARG_DECL)
-{
- // Check if the user overrode the default invocation credentials.
- CORBA::Policy_var policy =
- stub->get_policy (Security::SecInvocationCredentialsPolicy
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO_SSLIOP_Credentials::_nil ());
-
- SecurityLevel2::InvocationCredentialsPolicy_var creds_policy =
- SecurityLevel2::InvocationCredentialsPolicy::_narrow (
- policy.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO_SSLIOP_Credentials::_nil ());
-
- TAO_SSLIOP_Credentials_var ssliop_credentials;
-
- // Set the Credentials (X.509 certificates and corresponding private
- // keys) to be used for this invocation.
- if (!CORBA::is_nil (creds_policy.in ()))
- {
- SecurityLevel2::CredentialsList_var creds_list =
- creds_policy->creds (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO_SSLIOP_Credentials::_nil ());
-
- if (creds_list->length () > 0)
- {
- // Only use the first credential. All others are supposed
- // to be used for delegation but SSLIOP in CSIv1 does not
- // support delegation. (Compare to CSIv2.)
- SecurityLevel2::Credentials_ptr credentials =
- creds_list[(CORBA::ULong) 0];
-
- ssliop_credentials =
- TAO_SSLIOP_Credentials::_narrow (credentials
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO_SSLIOP_Credentials::_nil ());
-
- if (!CORBA::is_nil (ssliop_credentials.in ()))
- {
- TAO_SSLIOP_X509_var x509 = ssliop_credentials->x509 ();
- if (::SSL_use_certificate (ssl, x509.in ()) != 1)
- return TAO_SSLIOP_Credentials::_nil ();
-
- TAO_SSLIOP_EVP_PKEY_var evp = ssliop_credentials->evp ();
- if (evp.in () != 0
- && ::SSL_use_PrivateKey (ssl, evp.in ()) != 1)
- {
- // Invalidate the certificate we just set.
- (void) ::SSL_use_certificate (ssl, 0);
- return TAO_SSLIOP_Credentials::_nil ();
- }
- }
- }
- }
- else
- {
- // Use the default certificate and private key, i.e. the one set
- // in the SSL_CTX that was used when creating the SSL data
- // structure.
- TAO_SSLIOP_Credentials_ptr c = ssliop_credentials.out ();
- ACE_NEW_THROW_EX (c,
- TAO_SSLIOP_Credentials (::SSL_get_certificate (ssl),
- ::SSL_get_privatekey (ssl)),
- CORBA::NO_MEMORY ());
- ACE_CHECK_RETURN (TAO_SSLIOP_Credentials::_nil ());
- }
-
- return ssliop_credentials._retn ();
-}
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp
deleted file mode 100644
index 76870c5a576..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp
+++ /dev/null
@@ -1,425 +0,0 @@
-#include "SSLIOP_Factory.h"
-#include "SSLIOP_Acceptor.h"
-#include "SSLIOP_Connector.h"
-#include "SSLIOP_ORBInitializer.h"
-
-#include "orbsvcs/Security/Security_ORBInitializer.h" // @todo:
- // should go away
-
-#include "tao/debug.h"
-
-#include "ace/SSL/SSL_Context.h"
-
-
-ACE_RCSID (TAO_SSLIOP,
- SSLIOP_Factory,
- "$Id$")
-
-
-static const char prefix_[] = "iiop";
-
-TAO_SSLIOP_Protocol_Factory::TAO_SSLIOP_Protocol_Factory (void)
- : TAO_Protocol_Factory (IOP::TAG_INTERNET_IOP),
- major_ (TAO_DEF_GIOP_MAJOR),
- minor_ (TAO_DEF_GIOP_MINOR),
- qop_ (Security::SecQOPIntegrityAndConfidentiality)
-{
-}
-
-TAO_SSLIOP_Protocol_Factory::~TAO_SSLIOP_Protocol_Factory (void)
-{
-}
-
-int
-TAO_SSLIOP_Protocol_Factory::match_prefix (const ACE_CString &prefix)
-{
- // Check for the proper prefix for this protocol.
- return (ACE_OS::strcasecmp (prefix.c_str (), ::prefix_) == 0);
-}
-
-const char *
-TAO_SSLIOP_Protocol_Factory::prefix (void) const
-{
- return ::prefix_;
-}
-
-char
-TAO_SSLIOP_Protocol_Factory::options_delimiter (void) const
-{
- return '/';
-}
-
-TAO_Acceptor *
-TAO_SSLIOP_Protocol_Factory::make_acceptor (void)
-{
- TAO_Acceptor *acceptor = 0;
-
- ACE_NEW_RETURN (acceptor,
- TAO_SSLIOP_Acceptor (this->qop_),
- 0);
-
- return acceptor;
-}
-
-int
-TAO_SSLIOP_Protocol_Factory::init (int argc,
- char* argv[])
-{
- char *certificate_path = 0;
- char *private_key_path = 0;
- char *dhparams_path = 0;
-
- int certificate_type = -1;
- int private_key_type = -1;
- int dhparams_type = -1;
-
- int prevdebug = -1;
-
- // Force the Singleton instance to be initialized/instantiated.
- // Some SSLIOP option combinations below will result in the
- // Singleton instance never being initialized. In that case,
- // problems may occur later on due to lack of initialization of the
- // underlying SSL library (e.g. OpenSSL), which occurs when an
- // ACE_SSL_Context is instantiated.
- //
- // The code is cleaner this way anyway.
- ACE_SSL_Context * ssl_ctx = ACE_SSL_Context::instance ();
- ACE_ASSERT (ssl_ctx != 0);
-
- for (int curarg = 0; curarg != argc; ++curarg)
- {
- if ((ACE_OS::strcasecmp (argv[curarg],
- "-verbose") == 0)
- || (ACE_OS::strcasecmp (argv[curarg],
- "-v") == 0))
- {
- if (TAO_debug_level == 0)
- {
- prevdebug = TAO_debug_level;
- TAO_debug_level = 1;
- }
- }
-
- else if (ACE_OS::strcasecmp (argv[curarg],
- "-SSLNoProtection") == 0)
- {
- // Enable the eNULL cipher. Note that enabling the "eNULL"
- // cipher only disables encryption. However, certificate
- // exchanges will still occur.
- if (::SSL_CTX_set_cipher_list (ssl_ctx->context (),
- "DEFAULT:eNULL") == 0)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Unable to set eNULL ")
- ACE_TEXT ("SSL cipher in SSLIOP ")
- ACE_TEXT ("factory.\n")));
-
- return -1;
- }
-
- // This does not disable secure invocations on the server
- // side. It merely enables insecure ones. On the client
- // side, secure invocations will be disabled unless
- // overridden by a SecurityLevel2::QOPPolicy in the object
- // reference.
- this->qop_ = Security::SecQOPNoProtection;
- }
-
- else if (ACE_OS::strcasecmp (argv[curarg],
- "-SSLCertificate") == 0)
- {
- curarg++;
- if (curarg < argc)
- {
- char *lasts = 0;
- const char *type_name =
- ACE_OS::strtok_r (argv[curarg], ":", &lasts);
- certificate_path =
- ACE_OS::strtok_r (0, ":", &lasts);
-
- if (ACE_OS::strcasecmp (type_name, "ASN1") == 0)
- {
- certificate_type = SSL_FILETYPE_ASN1;
- }
- else if (ACE_OS::strcasecmp (type_name, "PEM") == 0)
- {
- certificate_type = SSL_FILETYPE_PEM;
- }
- }
- }
-
- else if (ACE_OS::strcasecmp (argv[curarg],
- "-SSLPrivateKey") == 0)
- {
- curarg++;
- if (curarg < argc)
- {
- char *lasts = 0;
- const char *type_name =
- ACE_OS::strtok_r (argv[curarg], ":", &lasts);
- private_key_path =
- ACE_OS::strtok_r (0, ":", &lasts);
-
- if (ACE_OS::strcasecmp (type_name, "ASN1") == 0)
- {
- private_key_type = SSL_FILETYPE_ASN1;
- }
- else if (ACE_OS::strcasecmp (type_name, "PEM") == 0)
- {
- private_key_type = SSL_FILETYPE_PEM;
- }
- }
- }
-
- else if (ACE_OS::strcasecmp (argv[curarg],
- "-SSLAuthenticate") == 0)
- {
- curarg++;
- if (curarg < argc)
- {
- int mode = SSL_VERIFY_NONE;
- if (ACE_OS::strcasecmp (argv[curarg], "NONE") == 0)
- {
- mode = SSL_VERIFY_NONE;
- }
- else if (ACE_OS::strcasecmp (argv[curarg], "SERVER") == 0)
- {
- mode = SSL_VERIFY_PEER;
- }
- else if (ACE_OS::strcasecmp (argv[curarg], "CLIENT") == 0
- || ACE_OS::strcasecmp (argv[curarg],
- "SERVER_AND_CLIENT") == 0)
- {
- mode = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
- }
-
- ssl_ctx->default_verify_mode (mode);
- }
- }
-
- else if (ACE_OS::strcasecmp (argv[curarg],
- "-SSLDHparams") == 0)
- {
- curarg++;
- if (curarg < argc)
- {
- char *lasts = 0;
- const char *type_name =
- ACE_OS::strtok_r (argv[curarg], ":", &lasts);
- dhparams_path = ACE_OS::strtok_r (0, ":", &lasts);
-
- if (ACE_OS::strcasecmp (type_name, "ASN1") == 0)
- {
- dhparams_type = SSL_FILETYPE_ASN1;
- }
- else if (ACE_OS::strcasecmp (type_name, "PEM") == 0)
- {
- dhparams_type = SSL_FILETYPE_PEM;
- }
- }
- }
-
- }
-
- // Load in the DH params. If there was a file explicitly specified,
- // then we do that here, otherwise we load them in from the cert file.
- // Note that we only do this on the server side, I think so we might
- // need to defer this 'til later in the acceptor or something...
- if (dhparams_path == 0)
- {
- // If the user didn't explicitly specify a DH parameters file, we
- // also might find it concatenated in the certificate file.
- // So, we set the dhparams to that if it wasn't explicitly set.
- dhparams_path = certificate_path;
- dhparams_type = certificate_type;
- }
-
- if (dhparams_path != 0)
- {
- if (ssl_ctx->dh_params (dhparams_path,
- dhparams_type) != 0)
- {
- if (dhparams_path != certificate_path)
- {
- // We only want to fail catastrophically if the user specified
- // a dh parameter file and we were unable to actually find it
- // and load from it.
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) SSLIOP_Factory: ")
- ACE_TEXT ("unable to set ")
- ACE_TEXT ("DH parameters <%s>"),
- dhparams_path));
- return -1;
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT ("(%P|%t) SSLIOP_Factory: ")
- ACE_TEXT ("No DH parameters found in ")
- ACE_TEXT ("certificate <%s>; either none ")
- ACE_TEXT ("are needed (RSA) or \"badness\"")
- ACE_TEXT ("will ensue later.\n"),
- dhparams_path));
- }
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT ("(%P|%t) SSLIOP loaded ")
- ACE_TEXT ("Diffie-Hellman params ")
- ACE_TEXT ("from %s\n"),
- dhparams_path));
- }
- }
-
- // The certificate must be set before the private key since the
- // ACE_SSL_Context attempts to check the private key for
- // consistency. That check requires the certificate to be available
- // in the underlying SSL_CTX.
- if (certificate_path != 0)
- {
- if (ssl_ctx->certificate (certificate_path,
- certificate_type) != 0)
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Unable to set ")
- ACE_TEXT ("SSL certificate <%s> ")
- ACE_TEXT ("in SSLIOP factory.\n"),
- certificate_path));
-
- return -1;
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT ("(%P|%t) SSLIOP loaded ")
- ACE_TEXT ("SSL certificate ")
- ACE_TEXT ("from %s\n"),
- certificate_path));
- }
- }
-
- if (private_key_path != 0)
- {
- if (ssl_ctx->private_key (private_key_path,
- private_key_type) != 0)
- {
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Unable to set ")
- ACE_TEXT ("SSL private key ")
- ACE_TEXT ("<%s> in SSLIOP factory.\n"),
- private_key_path));
- }
-
- return -1;
- }
- else
- {
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_INFO,
- ACE_TEXT ("(%P|%t) SSLIOP loaded ")
- ACE_TEXT ("Private Key ")
- ACE_TEXT ("from %s\n"),
- private_key_path));
- }
- }
-
- if (this->register_orb_initializer () != 0)
- return -1;
-
- if (prevdebug != -1)
- TAO_debug_level = prevdebug;
-
- return 0;
-}
-
-int
-TAO_SSLIOP_Protocol_Factory::register_orb_initializer (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- // @todo: This hard-coding should be fixed once SECIOP is
- // supported.
- // Register the Security ORB initializer.
- PortableInterceptor::ORBInitializer_ptr tmp;
- ACE_NEW_THROW_EX (tmp,
- TAO_Security_ORBInitializer,
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_TRY_CHECK;
-
- PortableInterceptor::ORBInitializer_var initializer = tmp;
-
- PortableInterceptor::register_orb_initializer (initializer.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Register the SSLIOP ORB initializer.
- // PortableInterceptor::ORBInitializer_ptr tmp;
- ACE_NEW_THROW_EX (tmp,
- TAO_SSLIOP_ORBInitializer (this->qop_),
- CORBA::NO_MEMORY (
- CORBA::SystemException::_tao_minor_code (
- TAO_DEFAULT_MINOR_CODE,
- ENOMEM),
- CORBA::COMPLETED_NO));
- ACE_TRY_CHECK;
-
- //PortableInterceptor::ORBInitializer_var initializer = tmp;
- initializer = tmp;
-
- PortableInterceptor::register_orb_initializer (initializer.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Unable to register SSLIOP ORB "
- "initializer.");
- return -1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
-
-
-TAO_Connector *
-TAO_SSLIOP_Protocol_Factory::make_connector (void)
-{
- TAO_Connector *connector = 0;
-
- ACE_NEW_RETURN (connector,
- TAO_SSLIOP_Connector (this->qop_),
- 0);
- return connector;
-}
-
-int
-TAO_SSLIOP_Protocol_Factory::requires_explicit_endpoint (void) const
-{
- return 0;
-}
-
-ACE_STATIC_SVC_DEFINE (TAO_SSLIOP_Protocol_Factory,
- ACE_TEXT ("SSLIOP_Factory"),
- ACE_SVC_OBJ_T,
- &ACE_SVC_NAME (TAO_SSLIOP_Protocol_Factory),
- ACE_Service_Type::DELETE_THIS |
- ACE_Service_Type::DELETE_OBJ,
- 0)
-
-ACE_FACTORY_DEFINE (TAO_SSLIOP, TAO_SSLIOP_Protocol_Factory)
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h
deleted file mode 100644
index 1d3ad9f9200..00000000000
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSLIOP_Factory.h
- *
- * $Id$
- *
- * SSLIOP implementation of PP Framework Protocol_Factory interface.
- *
- * @author Carlos O'Ryan <coryan@uci.edu>
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef TAO_SSLIOP_FACTORY_H
-#define TAO_SSLIOP_FACTORY_H
-
-#include "ace/pre.h"
-
-#include "SSLIOP_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "orbsvcs/SecurityC.h"
-
-#include "tao/Protocol_Factory.h"
-
-#include "ace/Service_Config.h"
-
-class TAO_Acceptor;
-class TAO_Connector;
-
-/**
- * @class TAO_SSLIOP_Protocol_Factory
- *
- * @brief SSLIOP-specific protocol factory implementation.
- *
- * This class implements the SSLIOP-specific protocol factory
- * implementation for use in TAO's pluggable protocols framework.
- */
-class TAO_SSLIOP_Export TAO_SSLIOP_Protocol_Factory
- : public TAO_Protocol_Factory
-{
-public:
- TAO_SSLIOP_Protocol_Factory (void);
- virtual ~TAO_SSLIOP_Protocol_Factory (void);
-
- // = Service Configurator hooks.
- virtual int init (int argc, char* argv[]);
- // Dynamic linking hook
-
- /// Create and register the SSLIOP ORB initializer.
- int register_orb_initializer (void);
-
- virtual int match_prefix (const ACE_CString &prefix);
- // Verify prefix is a match
-
- virtual const char *prefix (void) const;
- // Returns the prefix used by the protocol.
-
- virtual char options_delimiter (void) const;
- // Return the character used to mark where an endpoint ends and
- // where its options begin.
-
- // = Check Protocol_Factory.h for a description of these methods.
- virtual TAO_Acceptor *make_acceptor (void);
- virtual TAO_Connector *make_connector (void);
- virtual int requires_explicit_endpoint (void) const;
-
-private:
-
- /// Changing the version number can be used to provide backwards
- /// compatibility with old clients.
- int major_;
- int minor_;
-
- /// Default quality-of-protection settings for the SSLIOP pluggable
- /// protocol.
- Security::QOP qop_;
-
-};
-
-ACE_STATIC_SVC_DECLARE_EXPORT (TAO_SSLIOP, TAO_SSLIOP_Protocol_Factory)
-ACE_STATIC_SVC_REQUIRE (TAO_SSLIOP_Protocol_Factory)
-ACE_FACTORY_DECLARE (TAO_SSLIOP, TAO_SSLIOP_Protocol_Factory)
-
-#include "ace/post.h"
-
-#endif /* TAO_SSLIOP_FACTORY_H */
diff --git a/THANKS b/THANKS
index 644088c7116..96665cf689e 100644
--- a/THANKS
+++ b/THANKS
@@ -1597,7 +1597,6 @@ Tommy Persson <tpe@ida.lie.se>
Christian Barheine <cbarheine@sympatec.com
Ole Husgaard <osh@sparre.dk>
Victor Kirk <vkirk@technology.serco.com>
-Sandeep Neema <neemask@corvette.vuse.vanderbilt.edu>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson in the early 1990's. Paul devised the recursive Makefile
diff --git a/protocols/ace/RMCast/README b/protocols/ace/RMCast/README
deleted file mode 100644
index 2dd0c5d9cfc..00000000000
--- a/protocols/ace/RMCast/README
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id$
-
- This directory will contain a simple, small-scale reliable
-multicast framework for ACE. The framework is based on the ASX
-components of the ACE library: the protocol is implemented as a stack
-of interchangeable "modules", each one in charge of a very small task.
-For example, one module implements fragmentation and reassembly, other
-modules implement retransmission, send ACK and NAK messages, and
-maintain receiver membership.
-
- The modules are replaced to achieve different levels of
-reliability. For example, the retransmission module can be either the
-"Best_Effort", "Semi_Reliable" or "Reliable" implementation. In the
-first case no retransmissions are performed, but lost messages are
-detected and reported to the receiver. The "Semi_Reliable" case
-messages are held for a pre-specified amount of time, and
-re-transmited if requested, but it is possible to loose some messages
-if multiple re-transmissions fail. As in the "Best_Effort" case the
-lost messages are detected and flagged to the application. Finally
-in the "Reliable" mode the senders are flowed controlled until enough
-messages are successfully transmitted.
-
- In general the stack looks like this:
-
-
-SENDER:
-
-----------------------------------------------------------------
-Buffering : Save lost messages
-Retransmission : Retransmit
-----------------------------------------------------------------
-Fragmentation : Fragment messages in smaller chunks
-Reassembly : and ensure that the IOVMAX limit is not
- : reached
-----------------------------------------------------------------
-Tranport : Encapsulate the specific transport media
- : such as TCP/IP, ATM, or shared memory
- : Demuxes incoming data to the right chain
- : Change control messages and data messages
- : to the right dynamic types.
-----------------------------------------------------------------
-
-RECEIVER:
-
-----------------------------------------------------------------
-Lost detection : Detect lost messages and send control
- : messages back
-----------------------------------------------------------------
-Reassembly : Reassemble messages, fragment control
-Fragmentation : data
-----------------------------------------------------------------
-Transport : Group membership, ACT reception,
- : handle keep-alive messages...
-----------------------------------------------------------------
-
-
-@@ TODO: Piggybacking...
diff --git a/protocols/ace/RMCast/RMCast_Export.h b/protocols/ace/RMCast/RMCast_Export.h
deleted file mode 100644
index 51257c4d682..00000000000
--- a/protocols/ace/RMCast/RMCast_Export.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by
-// generate_export_file.pl
-// ------------------------------
-#if !defined (ACE_RMCAST_EXPORT_H)
-#define ACE_RMCAST_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_RMCAST_HAS_DLL)
-# define ACE_RMCAST_HAS_DLL 0
-#endif /* ACE_AS_STATIC_LIBS && ACE_RMCAST_HAS_DLL */
-
-#if !defined (ACE_RMCAST_HAS_DLL)
-#define ACE_RMCAST_HAS_DLL 1
-#endif /* ! ACE_RMCAST_HAS_DLL */
-
-#if defined (ACE_RMCAST_HAS_DLL)
-# if (ACE_RMCAST_HAS_DLL == 1)
-# if defined (ACE_RMCAST_BUILD_DLL)
-# define ACE_RMCast_Export ACE_Proper_Export_Flag
-# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else
-# define ACE_RMCast_Export ACE_Proper_Import_Flag
-# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ACE_RMCAST_BUILD_DLL */
-# else
-# define ACE_RMCast_Export
-# define ACE_RMCAST_SINGLETON_DECLARATION(T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ! ACE_RMCAST_HAS_DLL == 1 */
-#else
-# define ACE_RMCast_Export
-# define ACE_RMCAST_SINGLETON_DECLARATION(T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* ACE_RMCAST_HAS_DLL */
-
-#endif /* ACE_RMCAST_EXPORT_H */
-
-// End of auto generated file.
diff --git a/tests/run_tests.lst b/tests/run_tests.lst
deleted file mode 100644
index cc304f80bda..00000000000
--- a/tests/run_tests.lst
+++ /dev/null
@@ -1,90 +0,0 @@
-ARGV_Test
-Basic_Types_Test
-Bound_Ptr_Test
-chorus/Env_Value_Test
-Capabilities_Test
-Config_Test
-Atomic_Op_Test
-Auto_IncDec_Test
-Object_Manager_Test
-CDR_Array_Test
-CDR_File_Test
-CDR_Test
-Dirent_Test
-Semaphore_Test
-TSS_Test
-Log_Msg_Test
-Timeprobe_Test
-Time_Value_Test
-High_Res_Timer_Test
-SString_Test
-Collection_Test
-Unicos/libDLL_Test/DLL_Test
-OTHER/chorus/LynxOS/Unicos/Naming_Test
-Handle_Set_Test
-OrdMultiSet_Test
-chorus/Unicos/Mem_Map_Test
-MEM_Stream_Test
-Malloc_Test
-Unicos/SV_Shared_Memory_Test
-chorus/Unicos/MM_Shared_Memory_Test
-DISABLED/Signal_Test
-Sigset_Ops_Test
-Timer_Queue_Test
-DISABLED/MT_Reactor_Timer_Test
-SOCK_Connector_Test
-LynxOS/SOCK_Send_Recv_Test
-Task_Test
-Unicos/Thread_Manager_Test
-DISABLED/Process_Manager_Test
-LynxOS/Thread_Pool_Test
-Future_Test
-Future_Set_Test
-RB_Tree_Test
-Reactors_Test
-Reactor_Exceptions_Test
-Reactor_Notify_Test
-Reactor_Timer_Test
-chorus/Reactor_Performance_Test
-Notify_Performance_Test
-Reader_Writer_Test
-chorus/Priority_Reactor_Test
-chorus/SOCK_Test
-chorus/MT_SOCK_Test
-SPIPE_Test
-UPIPE_SAP_Test
-Barrier_Test
-Svc_Handler_Test
-Buffer_Stream_Test
-Priority_Buffer_Test
-Dynamic_Priority_Test
-Recursive_Mutex_Test
-Reverse_Lock_Test
-DISABLED/netsvcs_main/TOKEN/chorus/Unicos/Time_Service_Test
-DISABLED/TOKEN/chorus/Unicos/Tokens_Test
-Cache_Map_Manager_Test
-LynxOS/Cached_Conn_Test
-Cached_Accept_Conn_Test
-Map_Manager_Test
-Hash_Map_Manager_Test
-Lazy_Map_Manager_Test
-Hash_Map_Bucket_Iterator_Test
-Map_Test
-Message_Queue_Notifications_Test
-chorus/Message_Queue_Test
-chorus/Message_Queue_Test_Ex
-chorus/Simple_Message_Block_Test
-chorus/Message_Block_Test
-chorus/Pipe_Test
-chorus/Process_Mutex_Test
-chorus/Thread_Mutex_Test
-chorus/LynxOS/Process_Strategy_Test
-Service_Config_Test
-Unicos/Priority_Task_Test
-IOStream_Test
-Enum_Interfaces_Test
-chorus/Upgradable_RW_Test
-chorus/Conn_Test
-DISABLED/New_Fail_Test
-OS_Test
-Refcounted_Auto_Ptr_Test